커뮤니티 정보

제목 MySQL dump 명령 사용방법
등록자 관리자 등록일 2011.02.18 16:27:17 검색 2302
mysqldump로 백업하기 MySQL
2008/02/13 10:06

http://loudon23.blog.me/30027645484



mysqldump -u<사용자 계정명> -p[사용자패스워드] [OPTIONS] database [tables]
mysqldump [OPTIONS] --all-databases [OPTIONS]



[OPTIONS]

-n 또는 --no_create_db

데이터베이스 구조 생성 쿼리를 만들지 않는다는 옵션

이 옵션은 --all-databases를 했을 경우에만 유효하다. 즉, 덤프를 실행할때 databases를 지정하면 이미 databases가 있으니 CREATE DATABASE 를 할 필요가 없으므로 동작을 안함.

그러므로 database를 지정했을 경우에는 쓸 필요 없는 옵션.





-t 또는 --no_create_info

테이블 구조 생성 쿼리를 만들지 않는다는 옵션.





--default-chareter-set
덤프받을시 지정하는 케릭터셋으로 연결하여 덤프 받는 옵션, 하지만 테이블의 언어셋을 변경하여 받아주지는않음.

ex) 분명히 euc_kr 데이터가 쌓여있는데 덤프를 받으면 깨지는경우

- 이는 MySQL 서버가 다른언어셋으로 구성되어 있어 이중으로 인코딩되어
한글이나 다른언어들이 깨지는 현상이 발생한다 .
이경우는 다음고 같이 덤프 받는다.

mysqldump --default-chareter-set=euckr -u user -p dbname > dbname.sql





--skip-extended-insert

mysqldump를 실행하면 VALUES 뒤에 여러개의 데이터셋이 붙어 있는 다중신텍스 형태

ex) insert into table_name(field1, field2) values(1,2),(3,4),(5,6)

로 나오는데, --skip-extended-insert 옵션을 주면 데이터셋 하나당 insert문 하나로

ex) insert into table_name(field1,field2) values(1,2)

insert into table_name(field1,field2) values(3,4)

insert into table_name(field1,field2) values(5,6)

나오기 때문에 덤프뜬것을 넣을때 에러 찾기가 용의하다.





--allow-keywords
MySQL예약어와 동일한 필드명이 있을경우 복원시에 에러가 발생시
이옵션을 이용하여 덤프를 받으면 테이블명와 필드명에 ``해당 기호가 삽입되어 정상적으로 인식





--complet-insert -c
완전한 인서트문을 구성한다 .
ex) insert into table_name(field1,field2) values(value1,value2)

버전이 달라 mysql디비가 인서트가안될경우에 유용
- 메이져 버전이 다를경우 MySQL데이터베이스안의 user,db,hot등의 테이블 구조가 달라
일반적으로 덤프를든경우 정상적으로 인서트되니않는다.
이경우는 다음고 같이 덤프 받는다.

mysqldump --complet-insert -u user -p dbname > dbname.sql





--quick, -q
대용량 데이타베이스를 덤프뜰때 유용
한번에 한열씩 축출하며 쓰기전에 메로리에 버퍼링을 하록 하는옵션





--xml -x
XML형태로 덤프 받을시 이용





-r filename 또는 --result-file=filename

덤프뜬 결과를 파일로 저장.

mysqldupm -u user -p dbname > dbname.sql 와 mysqldump -u user -p dbname -r dbname.sql 는 같은 결과이다.

[출처] mysqldump로 백업하기 | 작성자 루든

... 자료없음 ...