반응형

mysqldump option
- –single-transaction : lock 을 걸지 않고도 dump 파일의 정합성 보장하는데 InnoDB 테이블이 아닌 MyISAM or MEMORY 테이블인 경우에는 여전히 상태가 변경 될 수 있다.
MySQL에선 큰 테이블을 덤프하려면 –quick 옵션과 결합하기를 권장한다. - –databases : dump 할 db명을 지정한다. 여러 개를 한번에 지정하는 것도 가능하다.
- –tables : dump 할 table명을 지정한다. 마찬가지로 여러 개를 한번에 지정 할 수 있다.
# 전체 백업
mysqldump --single-transaction --all-databases -h [db주소] -u [username] -p > backup_file.sql
# 백업시 프로시저 및 이벤트 포함
mysqldump --single-transaction --set-gtid-purged=off -h [db주소] -u [username] -p --all-databases --triggers --routines --events > backup_file.sql
# 백업본 복구
mysql -h [db주소] -u [username] -p < backup_file.sql
만약 백업시 에러가 발생한다 ? 위에는 옵션이 포함되어 있어서 에러가 발생하지 않음.
@@GLOBAL.GTID_PURGED cannot be changed: the added gtid set must not overlap with @@GLOBAL.GTID_EXECUTED
내용은 master 에서 purged 된것을 slave 의 gtid_executed 에 설정 할 수 없다는 것인데
이것은 각 서버마다 uuid 로 gtid 를 생성하는데 master 의 것을 가져와서 slave 에 반영하려 했기 때문에 발생한 것이다.
dump 할때 옵션 추가하여 Dump : --set-gtid-purged=off
반응형