5

我从生产中转储了一个数据库:

mysqldump -u 用户名 -p Intranet2 > Intranet2.sql

进入开发服务器:

mysql -u 用户名 -p intranet2 < intranet2.sql

我明白了:

第 244 行的错误 1005 (HY000):无法创建表 './intranet2/dept.frm' (errno: 150)

我试图把它放在 sql 文件的开头:

设置 FOREIGN_KEY_CHECKS = 0;

但我仍然收到同样的信息。mysqldump 应该能够重新创建数据库,否则我可以相信我的备份吗?

4

1 回答 1

3

Checks if the engine is InnoDB.

In this case you could try to put these lines at the beginning of the dump

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;

and these end

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;

good luck

于 2012-08-19T17:44:20.597 回答