mysql数据库备份的问题解决:ERROR 1005 (HY000) at line 12: Can't create table

进行mysql的数据备份,两种方法:
1)文件拷贝,这当然是最简单的了,把对应database的文件夹拷贝,然后拷贝文件ibdata1。
2)mysqldump

第2种方法当然更好了,比如我备份数据库mydb,步骤就是:

mysql\bin>mysqldump mydb > mydb.sql

恢复的时候首先在mysql创建对应的数据库;

create database mydb;

然后导入mydb.sql:

mysql\bin>mysql mydb < mydb.sql

结果今天出了问题,错误提示是:

ERROR 1005 (HY000) at line 12: Can't create table './mydb/foo.frm' (errno: 150)

这是因为表中有外键约束导致的。

……

对数据库不熟悉,结果google,baidu半天也没看到一个面向数据库菜鸟的指南,呵呵,现在解决了,给大家做个贡献:废话少说 :)解决办法是:

在恢复数据之前,

SET FOREIGN_KEY_CHECKS = 0;

恢复之后设置回来:

SET FOREIGN_KEY_CHECKS = 1

就Ok拉。

你可能感兴趣的:(sql,mysql,Google)