【发布时间】:2010-10-01 20:56:08
【问题描述】:
我是 MySQL 新手,我正在寻找使用 mysqldump 执行在线热逻辑备份的最佳方法。 This page 建议使用这个命令行:
mysqldump --single-transaction --flush-logs --master-data=2
--all-databases > backup_sunday_1_PM.sql
但是...如果您仔细阅读文档you find that:
当
--single-transaction转储正在进行时,确保转储文件有效 (正确的表内容和二进制日志位置),不应使用其他连接 以下声明:ALTER TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE。一种 一致读取并不与这些语句隔离,因此在表上使用它们来 被转储会导致mysqldump执行的SELECT检索表内容 获取不正确的内容或失败。
那么,有什么方法可以防止这种可能的转储损坏情况? IE。可以暂时阻止这些语句的命令。
PS:关于这个主题的 MySQL 错误条目http://bugs.mysql.com/bug.php?id=27850
【问题讨论】:
-
嗨,考虑到在几个月内没有人发布一种方法来防止这种情况,我认为这是不可能的。我同意比尔的回答。
标签: mysql mysqldump corruption