정보보기
\d[NAME]table, view, index, sequence 정보 보기
\da[PATTERN]통계 함수들 목록
\db[PATTERN]테이블 스페이스 목록("+" 추가하면 보다 자세히)
\dc[PATTERN]문자코드 변환 규칙(converson) 목록
\dC형변환자 목록
\dd[PATTERN]객체를 위한 코멘트 보기
\dD[PATTERN]도메인 목록
\df[PATTERN]함수 목록("+" 추가하면 보다 자세히)
\dg[PATTERN]그룹 목록
\dn[PATTERN]스키마 목록("+" 추가하면 보다 자세히)
\do[NAME]연산자 목록
\dllarge object 목록, \lo_list 명령과 같음
\dp[PATTERN]테이블, 뷰, 시퀀스의 접근 권한 목록
\dT[PATTERN]자료형 목록("+" 추가하면 보다 자세히)
\du[PATTERN]사용자 목록
\l모든 데이터베이스 목록("+"추가하면 보다 자세히)
\z[PATTERN]테이블, 뷰, 시퀀스의 접근 권한 목록


출처 : http://blog.naver.com/kukuta14?Redirect=Log&logNo=60020555214

출처 : http://blog.naver.com/yongun24/10084507800


== 백업 ==


DB전체 덤프
mysqldump -u[아이디] -p[비밀번호] -all-databases > [저장될 파일명]

 

DB만 덤프
mysqldump -u[아이디] -p[비밀번호] [디비명] > [저장될 파일명]

 

테이블 구조만
mysqldump -u[아이디] -p[비밀번호] --no-data [디비명] [테이블명] > [저장될 파일명]

 

테이블구조를 제외한 데이터만 덤프
mysqldump -u[아이디] -p[비밀번호] --no-create [디비명] [테이블명] > [저장될 파일명]

 

==복구 ==


덤프파일을 이용한 복구
mysql -u[아이디] -p[암호][디비명] < [파일명]

 

패스워드 동시 입력시 복구 안되면
mysql -u[아이디] -p[공백][디비명] < [파일명]

출처 : http://blog.naver.com/yongun24/10084551633

[MySQL 접속하기]
자신의 PC에서 MySQL 접속하기 : 
MySQL DB Server 접속은 MySQL의 명령어로 접속이 가능합니다.
접속하는 PC에 MySQL Client가 설치 되어 있지 않다면 http://www.mysql.com에서 받아서 운영체제에 맞는 것을 먼저 설치하여야 합니다.

가이드라인 서버에서 MySQL 접속하기 : 
Telnt,SSH로 서버 접속 후에 MySQL Client을 따로 설치 하실 필요 없이 바로 MySQL 접속 명령어로 MySQL DB Server로 접속이 가능합니다.

MySQL 접속 명령어 : 
mysql -hDB서버명 -uMySQL아이디 -pMySQL패스워드 데이타베이스명

MySQL 계정정보를 모른다면 [My Setting]에서 다시 확인 하세요.

[MySQL 백업하기]
가이드라인 홈페이지에서 백업 받기 : [My DB] 메뉴에서 웹에서 직접 백업을 받을 수 있습니다.

*MySQL 서버에 접속 하는 것이 아니라 Telnet으로 자신의 서버 계정으로 접속 후 백업 받고자 하는 폴더로 이동, 명령어 실행하시면 됩니다.

ex)

C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -uroot -proot123 FTA > FTA.sql

MySQL 명령어로 백업받기 : 
mysqldump -hDB서버명 -u유저명 -p패스워드 [백업할 테이터베이스명] > [저장할 파일명]
ex) mysqldump -hdb1.guideline.co.kr -uDBuser -pPassword MyDB > MyDB.sql 

특정 테이블만 백업 할 경우 : 
mysqldump -hDB서버명 -u유저명 -p패스워드 [테이타베이스명] [특정테이블명] > [저장할 파일명]
ex) mysqldump -hdb1.guideline.co.kr -uDBuser -pPassword MyDB MyTable > MyDB_MyTable.sql 

[MySQL 복구하기]
mysql -hDB서버명 -u유저명 -p패스워드 [복구할 테이터베이스명] < [저장된 파일명]
ex) mysql -hdb1.guideline.co.kr -uDBuser -pPassword MyDB < MyDB.sql 


[MySQL 패스워드변경] [MyDB] 메뉴에서 직접 변경 가능합니다.

가이드라인은 DB 서버와 WEB 서버를 분리해서 운영중이므로 반드시 DB 서버명을 꼭 입력하셔야 합니다.

[MySQL 공식 홈페이지] http://www.mysql.com
[MySQL Reference Manual] http://dev.mysql.com/doc/



[MySQL 테이블이 깨진 경우 복구 하는 방법]
MySQL 서버에 접속한 이후에 깨진 테이블명을 repair 명령어로 복구한다.
mysql> repair table 테이블명

[상위 버전으로 mysqldump시 한글이 깨어진다면]

  • MySQL 5.x 버전에 수록된 MySQL dump 10.x 버전 경우에는 mysqldump 시에
    한글문자 지정하는 옵션도 있습니다.(--default-character-set=euc_kr or euckr)

    가이드라인 DB 서버의 charset은 euc_kr 입니다.
    mysqldump -hDB서버명 -u유저명 -p패스워드 --default-character-set=euc_kr [백업할 테이터베이스명] > [외부로 저장할 파일명]
    직접 복구 해야할 DB 서버의 문자셋 확인 방법은 
    MySQL 접속을 하신 후에
    show variables like '%char%';
    명령어로 확인이 가능합니다.

    참조) mysql 버전 및 charset이 다른 경우는 설정을 확인 해 보셔야 합니다.
    예를들어서 mysql 5.x 버전으로 default-character-set=euckr 으로 되어 있을 수도 있습니다.



    * MySQL 테이블명 변경 방법
    명령어 : ALTER TABLE 테이블명 RENAME 새로운 테이블명;
    mysql>ALTER TABLE old_tablename RENAME new_tablename;
    ex)ALTER TABLE guideline rename new_guideline;

    컬럼 속성 수정
    명령어 : ALTER TABLE tablename MODIFY 컬럼이름 컬럼속성
    mysql> ALTER TABLE tablename MODIFY colname INT NOT NULL AUTO_INCREMENT 

    컬럼 이름 바꾸기
    mysql> ALTER TABLE tablename CHANGE colname newcolname INT NOT NULL AUTO_INCREMENT;

    컬럼 추가
    명령어 : ALTER TABLE tablename ADD 컬럼이름 컬럼속성
    mysql>ALTER TABLE bbs ADD name varchar(10);

    특정 컬럼 뒤에 새로운 컬럼 추가
    mysql> ALTER TABLE tablename ADD newcol varchar(10) AFTER num;

    컬럼 삭제
    mysql> ALTER TABLE tablename DROP colname;

    기존 컬럼을 지우고 맨 앞에 컬럼 추가
    mysql>ALTER TABLE tablename DROP newcol, ADD newcol VARCHAR(10) FIRST;

    PRIMARY KEY 속성 삭제
    mysql>ALTER TABLE test DROP PRIMARY KEY;

    테이블의 내용 전체 삭제
    mysql>TRUNCATE TABLE tablename;
    ;간략 추가 설명
    오라클에서 사용 SQL 확장으로 
    MySQL 5.0.3 버전 이전 경우는 DELETE문과 차이는 없습니다.
    MySQL 5.0 버전에는 차이가 있습니다. 트랜젹션 되지 않아 복구 불가능합니다.


  • 1. root 계정으로 접속한다.

       mysql -u root -p

    2. mysql db에서 패스워드를 변경한다.

      >use mysql;
      >update user set password=password('패스워드') where user='유저명';

    3. 패스워드가 설정 된걸 확인 할 수 있다.

       >select host,user,password from user;
    MySQL에 root로 접속 한 뒤
    use mysql;
    select host,user from user;
    현재 생성된 db의 사용자 계정들을 확인할 수 있다.

    사용자 계정 생성
    GRANT USAGE ON [database명].[table명] TO [user명]@[server명] IDENTIFIED BY ['패스워드'];
    ex) grant usage on database.* to user1@localhost identified by 'user1';

    생성된 사용자 계정 권한 설정
    GRANT ALL ON [database명].[table명] TO [user명]@[server명];    =>  모든 권한을 준다
    GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON [database명].[tabel명] TO [user명]@[server명];   => 특정 권한을 준다
    ex) grant all on database.* to user1@localhost;
         grant select,insert,update,delete,create,drop.index,alter on database.* to user1@localhost;

    REVOKE ALL ON [database명].[table명] FROM [user명]@[server명];    =>  모든 권한을 삭제한다
    REVOKE DROP ON [database명].[table명] FROM [user명]@[server명];    => 특정 권한(drop)을 삭제한다
    ex) revoke all on database.* from user1@localhost;
         revoke drop,index on database.* from user1@localhost;

    계정 권한을 새로 로드
    FLUSH PRIVILEGES;
    flush privileges;

    사용자 계정 삭제
    DROP USER [user명]@[server명];
    ex) drop user user1@localhost;

    + Recent posts