Answers:
您有两种选择:
--skip-lock-tables
答:使用mysqldump选项。您的表不会被锁定,但是您的备份可能不一致(取决于您的架构:如果您的数据库事务一次接触多个表,并且一个表已经备份而另一个未备份,例如:两个表:客户如果先备份了客户,然后插入了新的客户/订单对,则最终可能会得到没有客户备份的订单。
这个问题是mysqldump默认锁定所有表的主要原因。如果此问题不适用于您,则跳过mysql中的表锁定是最简单的解决方案。
B.使用其他备份方法。例如:使用读取锁刷新表,创建LVM快照,解锁表,装入LVM快照并备份数据。它变得快速,比简单的mysqldump复杂得多。Google的“带有LVM快照的mysql备份”,提供了许多脚本和教程。
如果您的MySQL数据不在LVM卷上,则可以创建一个从属MySQL服务器并备份它,而无需接触主服务器,因此锁定发生在从属服务器上,并且主服务器始终是免费的。