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拉。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值