我目前正在将一些数据库从一台服务器转移到另一台服务器,并且遇到了一个非常恼人的问题。
数据库从ubuntu 12.04升级而来。一台14.04版本的机器。两者都有相同版本的MySQL,且配置基本相同。这是一张清白的桌子。
我使用mysqldump备份数据库(大约3G大小),将其scp到新服务器并运行恢复。然后,当我特别检查一个表时,我可以看到一堆缺少的行。
在back运行之前,我已经检查并优化了表。如果我打开转储的sql文件,我可以看到其中缺少的行。我甚至可以剪切和粘贴行线,并将它们添加到数据库中,这样就不会损坏数据。
我还尝试了只转储一个问题表,并对其进行重新排序,结果相同。
在错误日志中没有任何东西,我也使用heidisql导出/导入,因为它在运行过程中提供了一个很好的日志,希望能发现问题。但并没有什么不好的表现。
有没有人有什么想法可以尝试一下。
发布于 2015-07-30 11:05:29
这可能是由于索引损坏而导致的,请尝试执行,
REPAIR [NO_WRITE_TO_BINLOG | LOCAL] TABLE
tbl_name [, tbl_name] ...
[QUICK] [EXTENDED] [USE_FRM]查找:MySQL 5.1 Repair Table Syntax
并查看缺少的行是否会重新出现。
我们在这里可能有一个前科:DBA StackExchange: Incomplete mysqldump
https://stackoverflow.com/questions/25281837
复制相似问题