DataBase/MySQL
[MySQL] mysqldump 를 이용한 백업 및 복구
효락
2017. 11. 30. 15:49
주요 옵션
옵션 | 의미 | Default | 비고 |
---|---|---|---|
-A, --all-database | 모든 db dump | ||
--databases | 기술한 db 만 dump | ||
--add-drop-database | create database 전에 drop database 실행 | ![]() | 기존 데이터가 삭제됨 |
--add-drop-table | create table 전에 drop table 실행 | ![]() | --skip-add-drop-table 옵션을 사용하면 drop table 명령 제외 |
-l, --lock-tables | Lock all tables for read | ![]() | --skip-lock-tables 로 제외가능. 이 옵션보단 --single-transaction 추천 |
--single-transaction | lock 을 걸지 않고 dump 파일의 정합성 보장 | ![]() | InnoDB 만 사용 가능 |
--ignore-table | 해당 테이블 dump에서 제외 | ![]() | 다수의 테이블 제외 시 테이블 마다 옵션을 줘야함 |
--no-create-db | create database 구문 제외 | ![]() | 복구 환경의 database 명이 다를 때 유용 |
--max_allowed_packet | 서버와 주고 받을 최대 패킷 사이즈 설정 | 1M | 첨부파일등이 DB에 있을 시 위 값을 크게 설정 |
--triggers | tigger 도 dump | ![]() | --skip-triggers 로 제외 가능 |
--routines | stored procedure, function 도 포함해서 dump | ![]() | |
--flush-logs | dump를 시작하기전 flush logs 를 한다. | 풀 백업과 증분 백업을 명확히 할 수 있음 |
모든 db 및 stored procedure / function 백업
db1, db2만 백업
db1에 table1 만 백업
db1에 table1, table2 만 제외
전체 데이터베이스 복구
db1 복구
★ 스키마 전체를 백업 후 복구 시 백업파일에 스키마를 삭제 후 복구해야한다. 그렇지 않으면 스키마 전체가 덮어씌어지니 주의
Ref : https://www.lesstif.com/pages/viewpage.action?pageId=17105804