1

以下是我与 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 表丢失了,下面是“显示引擎”的结果;在本地数据库上:

显示引擎

4

2 回答 2

0

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

于 2013-03-22T11:06:37.420 回答
0

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

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

于 2013-03-19T14:59:03.543 回答