3
我从一台服务器上备份了一个数据库,并试图在另一台服务器上恢复它。在mysql命令行中恢复数据库
MySQL的版本是5.5
当我尝试使用下面的命令,屏幕恢复数据库-r
mysql -u root -p password mydb < mydump.sql
ERROR 1005 (HY000) at line 356: Can't create table 'mydb.mytable' (errno: 150)
我明白这是外键约束问题。转储文件里面有以下声明。
/*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
但它仍然失败。我的dumo文件非常大,因此打开它并进行编辑是不可能的。所以,而不是在转储中添加SET FOREIGN_KEY_CHECKS=0;
,我可以直接在mysql命令行内设置它,如下所示?
mysql> SET FOREIGN_KEY_CHECKS=0;
...
mysql> source "mydump.sql";
...
mysql> SET FOREIGN_KEY_CHECKS=1;
它会工作吗?我的数据库重装需要数小时才能完成。所以我在这之前花点时间在这里寻求帮助。
感谢您的帮助。
我还没试过呢。但它有助于继续。谢谢 – Slowcoder 2013-02-26 02:25:45