MySQL-mydumper锁定

时间:2019-06-22 12:53:35

标签: mysql backup

我正在使用mydumper备份我的MySQL数据库,因为与此相比,大多数其他工具的运行速度都很慢。

这是我的情况:

  1. 我每周都要使用cron作业备份数据库。
  2. 备份必须在实时服务器上进行,不允许中断。
  3. 必须连续备份一些小型数据库,然后再备份3个具有200,000个表的大型数据库,其中一致性并不重要(表是这些DB不包含任何外键,如果丢失了一些插入/更新,则会丢失该数据库)没问题)。
  4. 所有数据库都是InnoDB。

mydumper具有以下锁定选项,但是关于每个选项的含义还不清楚。感谢您的帮助。

-无锁:请勿执行临时共享读取锁。警告:这将导致备份不一致

-无备份锁:请勿使用Percona备份锁

-更少锁定:最小化InnoDB表上的锁定时间

-锁定所有表:对所有表使用LOCK TABLE,而不是FTWRL

-trx-consistency-only :仅事务一致性

同时使用--no-backup-locks和--less-locking,锁定时间太长。在备份运行期间,所有数据库都无法访问(不仅仅是正在备份的数据库)。所以这不是一个选择。

-无锁可能导致备份不一致,所以我可能不应该这样做。

-lock-all-tables使我起初可以在现场环境中继续操作。但是大约15分钟后也会导致mysql无法访问。

仅--trx-consistency-only与其他选项有何不同?

[编辑] 对于将来的读者:--trx-consistency-only仅在InnoDB上运行良好。最小的锁定和数据库是一致的。在现场环境中不会中断。

0 个答案:

没有答案