주요 옵션

옵션
의미
Default
비고
-A, --all-database모든 db dump  
--databases기술한 db 만 dump  
--add-drop-databasecreate database 전에 drop database 실행(error)기존 데이터가 삭제됨
--add-drop-tablecreate table 전에 drop table 실행(tick)--skip-add-drop-table 옵션을 사용하면 drop table 명령 제외
-l, --lock-tablesLock all tables for read(tick)--skip-lock-tables 로 제외가능. 이 옵션보단 --single-transaction 추천
--single-transactionlock 을 걸지 않고 dump 파일의 정합성 보장(error)InnoDB 만 사용 가능
--ignore-table해당 테이블 dump에서 제외(error)다수의 테이블 제외 시 테이블 마다 옵션을 줘야함
--no-create-dbcreate database 구문 제외(error)복구 환경의 database 명이 다를 때 유용
--max_allowed_packet서버와 주고 받을 최대 패킷 사이즈 설정1M첨부파일등이 DB에 있을 시 위 값을 크게 설정
--triggerstigger 도 dump(tick)--skip-triggers 로 제외 가능
--routinesstored procedure, function 도 포함해서 dump(error) 
--flush-logsdump를 시작하기전 flush logs 를 한다. 풀 백업과 증분 백업을 명확히 할 수 있음

 모든 db 및 stored procedure / function 백업

mysqldump --single-transaction --routines --all-databases -h localhost -u root -p > mysqlDump.sql

 db1, db2만 백업

mysqldump --single-transaction --databases db1 db2 -h localhost -u root -p > mysqlDump.sql

 db1에 table1 만 백업

mysqldump --single-transaction db1 test -u root -p > mysqlDump.sql

 db1에 table1, table2 만 제외

mysqldump --single-transaction --databases db1 --ignore-table=db1.table1 --ignore-table=db1.table2 -h localhost -u root -p > mysqlDump.sql

 전체 데이터베이스 복구

mysql -h localhost -u root -p < mysqlDump.sql

 db1 복구

★ 스키마 전체를 백업 후 복구 시 백업파일에 스키마를 삭제 후 복구해야한다.  그렇지 않으면 스키마 전체가 덮어씌어지니 주의

mysql -h localhost -u root -p db1 < mysqlDump.sql

 

Ref : https://www.lesstif.com/pages/viewpage.action?pageId=17105804

+ Recent posts