Tôi viết một kịch bản lệnh sao lưu để thực thi mysqldump.Làm thế nào để khóa tất cả các bảng trong một db mysql?
mysqldump -u$BACKUP_USER -p$BACKUP_PASS --flush-logs --lock-tables $DB_NAME > $SQL_FILE
Công cụ lưu trữ của tôi là MyISAM. Vì vậy, tôi không thể sử dụng tùy chọn --single-transaction
. --lock-tables
chỉ khóa một bảng trong tiến trình mysqldump. Có nhiều cơ sở dữ liệu trong cá thể MySQL của tôi, tôi không muốn sử dụng --lock-all-tables
, nó sẽ khóa tất cả các cơ sở dữ liệu chạy trong máy chủ của tôi. Vì vậy, Làm thế nào để khóa tất cả các bảng trong ONE cơ sở dữ liệu mysql tại sametime vì vậy tôi có thể đổ nó?
'--lock-tables' nên khóa tất cả các bảng được bán trước khi bán chúng. Điều gì làm cho bạn nghĩ rằng nó không làm như vậy? – cdhowie
Tôi có thử nghiệm trong mysql 5.1, khi tôi sử dụng --lock-tables trong mysqldump, tôi vẫn có thể chèn dữ liệu vào bảng cơ sở dữ liệu $ DB_NAME. – KeepZero