MySQL & Maria
MySQL 백업 & 복구 ( mysqldump )
Yunhyeong.lee
2021. 8. 25. 14:56
반응형
오늘은 Mysql 를 백업 복구할때 사용하는 mysqldump에 관련해서 써 볼 생각이다.
- mysqldump 클라이언트 유틸리티는 논리적 백업을 수행하여 기존 DB 개체 정의 및 테이블 데이터를 복제하기 위해 실행하기 위해 실행할 수 있는 SQL문을 생성합니다. 백업 또는 다른 SQL 서버로 전송하기 위해 하나 이상의 MySQL DB를 덤프 합니다. mysqldump 명령은 CSV, XML 등으로 생성할 수도 있습니다.
[장점]
1. dump 파일을 보고 직접 SQL 구문을 확인 & 수정할 수 있다.
2. mysqldump는 많은 옵션을 가지고 있어 잘 활용한다면 좋은 유틸리티이다.
[단점]
1.다른 백업 유틸리티에 비해 속도가 느리다.
2.Dump 중 에러가 발생한다면 처음부터 다시 시도해야 된다.
Database 상태
DBName : employees Table : current_dept_emp / departments / dept_emp / dept_emp_latest_date / dept_manager / employees / salaries / titles |
MySQL DB Backup
#mysqldump -u [사용자 계정] -p[패스워드] --routines --triggers --single-transaction [Database 명] > 백업.sql #Option --routines = procedure/function 같이 Export --triggers = trigger 같이 Export --single-transaction = dump를 하나의 트랜잭션으로 실행함으로 InnoDB 스토리지 엔진을 사용하는 테이블에 대해서 Lock없이 일관된 덤프를 받을수 있다 #[root:LEE:/tmp/test_db > mysqldump -uroot -proot --routines --triggers --single-transaction employees > employees.sql |
MySQL DB Restore
#mysql -u[사용자계정] -p[패스워드] [복원할 Database 명] < 백업.sql #[root:LEE:/tmp/test_db > mysql -uroot -proot employees < employees.sql |
MySQL Table Backup
#mysqldump -u [사용자 계정] -p[패스워드] --routines --triggers --single-transaction [Database 명] [Table명 ] > 백업.sql #[root:LEE:/tmp/test_db > mysqldump -uroot -proot --routines --triggers --single-transaction employees departments > employees.department.sql |
MySQL Table Restore
#mysql -u[사용자계정] -p[패스워드] [복원할 Database 명] < 백업.sql #[root:LEE:/tmp/test_db > mysql -uroot -proot employees < employees.department.sql |
반응형