mysqldump를 하면 DB에 lock를 걸게 된다. 기본 설정이 그렇게 되어 있다.
서비스 운영중인 데이터베이스에 그런 것을 하면 큰 문제가 생긴다.
mysqldump를 할 때 lock을 걸지 않도록 하는 옵션을 해야 한다.
mysqldump를 할 때 자주하는 것이 아니라서 실수하기 쉬운데 다음과 같이 옵션을 주고 처리할 수 있다.
1 2 3 |
mysqldump --skip-add-locks --skip-lock-tables db table > dump.sql |
덤프하는 중에도 다른 세션에서 insert, update, delete 가능하다.
1 2 3 |
mysqldump --single-transaction db table > dump.sql |
덤프하는 중에도 다른 세션에서 insert, update, delete 가능하다.
1 2 3 |
mysqldump --lock-tables db table > dump.sql |
덤프하는 중에 다른 세션에서 insert, update, delete 불가능하다.