如果你有很多表格,似乎只能进行没有锁定所有表格的MySQLDump,否则会出现错误。
没有锁定所有表格执行MySQLDump的副作用是什么?用这种方式获得的数据库快照是否一致?我还有其他备份MySQL数据库中许多表格的选择吗?
如果你有很多表格,似乎只能进行没有锁定所有表格的MySQLDump,否则会出现错误。
没有锁定所有表格执行MySQLDump的副作用是什么?用这种方式获得的数据库快照是否一致?我还有其他备份MySQL数据库中许多表格的选择吗?
如果使用InnoDB引擎,最好的方式是在一个复制从机上运行备份。这样锁定将没有影响。否则,只需使用已提到的--single-transaction标志。
您使用哪些存储引擎?
如果您使用的是InnoDB,则可以使用--single-transaction标志运行mysqldump,获取一致的快照而无需锁定表。
如果您使用的是MyISAM,则需要锁定表以获取一致的快照。否则,在mysqldump运行时运行在您的MyISAM表上的任何插入/更新/删除语句可能会或可能不会反映在输出中,这取决于这些语句的时间安排。
--single-transaction 标志应该适用于 InnoDB 类型的数据库。