【发布时间】:2012-12-12 14:30:06
【问题描述】:
我写了一个备份shell脚本来执行mysqldump。
mysqldump -u$BACKUP_USER -p$BACKUP_PASS --flush-logs --lock-tables $DB_NAME > $SQL_FILE
我的数据库的存储引擎是 MyISAM。所以我不能使用--single-transaction 选项。
--lock-tables 在 mysqldump 进程中只锁定一张表。
我的 MySQL 实例中有很多数据库,我不想使用--lock-all-tables,它会锁定我服务器中运行的所有数据库。
那么,如何同时锁定 ONE mysql 数据库中的所有表以便转储它?
【问题讨论】:
-
--lock-tables应该在转储表之前锁定所有要转储的表。是什么让您认为它没有这样做? -
我在 mysql 5.1 中进行了测试,当我在 mysqldump 中使用 --lock-tables 时,我仍然可以将数据插入到 $DB_NAME 数据库的表中。
标签: mysql database database-administration