奥飞火千万电 发表于 2016-10-19 07:55:08

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拉。
页: [1]
查看完整版本: mysql数据库备份的问题解决:ERROR 1005 (HY000) at line 12: Can't create table