我的数据库使用的是 InnoDB,使用时mysqldump
我可以选择设置--single-transaction
以避免锁定表,同时仍然保持对它们的一致视图。
我正在尝试切换到推荐的MySQL Shellutil.dumpSchema
,但我只看到两个选项:consistent: true
和consistent: false
。的文档consistent: true
指定将锁定表以进行备份。
是否可以使用util.dumpSchema
相同的方式通过 InnoDB 在单个事务中转储?或者如果表使用 InnoDB,这是否会自动完成?
DumpSchema 实用程序使用多个线程并行转储表(请阅读您在问题中链接的页面上的“关于”部分)。每个线程都在其自己的事务中运行,因此不可能在单个事务中转储整个数据库。
这就是为什么如果启用了一致模式,该实用程序会应用全局或表级读取锁定的原因。它与 mysqldump 中的单事务选项具有相同的效果:备份将保持一致。