我目前正在将一些数据库从一台服务器转移到另一台服务器,并且遇到了一个非常烦人的问题。
数据库是从ubuntu 12.04开始的。到14.04机器。两者都具有相同版本的MySQL,具有几乎相同的配置。这是一个无与伦比的表。
我使用mysqldump备份数据库(大小约3 gig),将其scp到新服务器并运行还原。当我特别检查一个表时,我可以看到一堆丢失的行。
我在后面运行之前检查并优化了表格。 如果我打开转储的sql文件,我可以看到它中缺少的行。我甚至可以剪切和粘贴行行并将它们添加回数据库中 - 因此它不会损坏数据。
我也尝试过倾倒一个问题表,然后用相同的结果对它进行重新排序。
错误日志中没有任何内容,我也使用heidisql导出/导入,因为它提供了一个很好的日志,因为它一直希望发现问题。但没有什么不好的表现。
是否有任何人对待尝试的事情有任何想法。
答案 0 :(得分:1)
由于索引损坏,可能会发生这种情况, 尝试做,
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