mysqldump备份缺少所有innodb表但不缺少MyISAM表

时间:2013-03-19 08:45:20

标签: mysql innodb mysqldump

以下是我使用mysqldump备份数据库的开关:

/usr/bin/mysqldump -u **** --password=**** --single-transaction --database ****  > /filepath/filename.sql

我使用windows(服务器是linux)导入我的本地数据库:

mysql -u root 

use databasename

source c:/filepath/filename.sql

当我比较服务器数据库和本地,innodb表缺失时,下面是'show engines;'的结果在本地数据库:

show engines

2 个答案:

答案 0 :(得分:0)

可能是--single-transaction选项。你在转储时是否有可能改变表格?如果是这样,alter table将在交易之外完成。它将创建一个临时表,删除原始表并重命名临时表。由于原始表“已消失”,因此不会将其放入转储文件中。

您可以尝试使用--lock-tables,看看是否有效。

答案 1 :(得分:0)

我最后通过完全擦除本地数据库然后从备份重新加载数据库来解决这个问题,不知道为什么本地数据库没有显示innodb表但是它已经修复了