环境:
Windows 7 (XAMPP 最新) Apache 2.4.4 PHP 5.5 MySQL 5.6.11
我正在尝试从 MySQL 5.1 备份数据库并将其导入 MySQL 5.6。
在 MySQL 5.1 中,有一些 MyISAM 和 InnoDB 表。我使用 mysqldump 转储 SQL 文件,并带有 --add-drop-database 开关。
现在,当我返回本地主机并使用 MySQL 工作台导入 SQL 文件时,会发生错误:
InnoDB: cannot calculate statistics for table "database"."tables" because the .ibd file is missing.
我尝试使用以下方法删除数据库:
drop schema database
它使 MySQL 5.6 崩溃,错误如下:
2013-09-10 17:18:23 fc4 InnoDB: Warning: MySQL is trying to drop database `database`.``
InnoDB: though there are still open handles to table `database`.`table`.
在 my.ini 我设置:
innodb_force_recovery = 4
我试过了:
- 使用不同的数据库名称创建一个新数据库并再次运行导入,无法创建所有 innodb 表。
- 从数据目录中的工作 5.1 服务器复制所有 *.frm 表,覆盖现有数据库,重新启动 MySQL 5.6.11,无法访问所有 innodb 表。
- 如果我使用 engine=InnoDB 运行创建表语句,它将失败并且说表已经存在,实际上它不存在。
- 如果我运行使用 InnoDB 的删除表语句,它会说表不存在......
任何人都可以给我一些建议吗?
谢谢你。