mysql转储导入错误_将MySQL转储应用于RDS时出现“无法解析表名”错误

外部MySQL实例和RDS都运行MySQL 5.7.10.

我已经按照这个过程,但是当使用mysqldump转储数据库并将其发送到连接到RDS的mysql时,我收到以下错误:

ERROR 1215 (HY000) at line 2081: Cannot add foreign key constraint

RDS上的SHOW ENGINE InnoDB状态显示:

------------------------

LATEST FOREIGN KEY ERROR

------------------------

2016-03-25 01:38:56 0x2ad07ddcf700 Error in foreign key constraint of table db/Prospect:

FOREIGN KEY (`restaurantId`) REFERENCES `Restaurant` (`id`),

CONSTRAINT `FK_Prospect_Zone` FOREIGN KEY (`zoneId`) REFERENCES `Zone` (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=18292 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci:

Cannot resolve table name close to:

(`id`),

CONSTRAINT `FK_Prospect_Zone` FOREIGN KEY (`zoneId`) REFERENCES `Zone` (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=18292 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

好的,转储文件确实按字母顺序重新创建表,因此Prospect表出现在Restaurant和Zone之前,可以解释错误.

但是没有,因为mysqldump将SET FOREIGN_KEY_CHECKS = 0添加到文件的顶部,所以无论如何它都应该工作.

所以我决定在一个普通的MySQL 5.7安装上测试它,毫不奇怪,使用完全相同的命令成功导入转储.

什么原因导致RDS上的这个错误,以及如何避免它?

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值