innodb - mysqldump 备份缺少所有 innodb 表,但没有 MyISAM 表

标签 innodb mysql

以下是我使用 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

最佳答案

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

您可以尝试改用 --lock-tables,看看是否可行。

关于innodb - mysqldump 备份缺少所有 innodb 表,但没有 MyISAM 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15494857/

相关文章:

mysql - 更改具有外键的表的引擎

php - 通过购买激活 Joomla 帐户

php - 调用未定义函数 mysql_connect()

php - 我想在 where() 之后使用 orderBy () 和 take(),但它的查询恰好与我想要的答案相反

删除 ibdata1 后 MySQL 表消失了

mysql - 如何在 magento 中恢复损坏的数据库?

mysql - 我应该为 "write-only"表使用 InnoDB 还是 MyISAM?

php - php mysql 查询中的当前行 ID 或行号

sql - MySQL 查询需要更长的索引?

使用 join 时 MySQL 锁定