Shuo
Shuo I'm a DBA(Database Administrator), we can share and discuss MySQL, MongoDB, Redis and other databases here, also including learning Python, Shell, Golang together.

Tips: MySQL导入备份sql文件时,外键约束报错


Tips: MySQL导入备份sql文件时,外键约束报错

现象

最近在导入一个环境的数据的时候,出现了这个报错,备份为使用mysqldump进行的。
在导入新环境时,提示:Fail to open the referenced table ….

原因

根据报错是外键的问题,此时,由于sql文件中建表的先后顺序,导致打不开需要关联的其它表,会报错。但是由于此阶段还在初始化,所以可以暂时忽略。在导入结束后再去检查外键情况。

解决

操作如下,首先创建一个文件,第一行为:

1
2
3
4
echo "set FOREIGN_KEY_CHECKS=0; " > testdb_dump.sql 
mysqldump  -B testdb  --compact  >> testdb_dump.sql 
echo "set FOREIGN_KEY_CHECKS=1; " > testdb_dump.sql 

注意

不要直接vi编辑sql文件,因为如果备份文件过大,则可能会打不开文件,且消耗系统的IO资源。

comments powered by Disqus