报错信息:
ERROR 1005 (HY000): Can’t create table ‘example_db.example_table’ (errno: 150)
故事背景:
从生产环境example_db数据库往测试环境对应的库导入恢复数据。因为前一天使用mysqldump工具对生产环境整个实例中所有数据库做过一次备份,考虑到再做一次针对example_db库的备份比较耗时,于是决定直接使用sed工具从原来的完整备份中截取出example_db对应的部分,然后使用该部分逻辑备份文件恢复测试环境的example_db数据库.所使用的命令如下:
<pre name="code" class="plain">sed -n '/-- Current Database: `example_db`/,/-- Current Database: `example_db2`/p' fullbakcup.sql > /data/tmp/example_db.sql
其中fullbakcup.sql为已经存在的使用mysqldump做的全备份文件,example_db2为备份文件中紧随example_db对应的备份内容之后的数据库,该命令的作用是从备份文件中截取出example_db对应的备份内容。至此,一切看似没有问题。但是通过如下命令执行时,报出如下错误:
mysql -uuser -p -htest.db.service.com example_db < /data/tmp/example_db.sql
ERROR 1005 (HY000): C
版权声明:本文为zyz511919766原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。