因为电脑进水,我需要把mysql数据库中的数据导入到新的电脑中,但取出进水电脑的硬盘,用硬盘盒接入新电脑时,无法打开原操作系统中的用户文件夹,因此无法启动原来的mysql,且新电脑中也已经配置了mysql,所以考虑单纯使用.ibd文件进行数据库数据转移。
我之前存过整个数据库中整个数据表的创建代码,所以可以在新的mysql中创建新的数据库和相应数据表
具体操作过程参考 Mysql 通过ibd文件恢复数据
如果数据表中涉及到 foreign key,会报错 ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails
根据错误信息可以看出是外键设置了约束,既然是外键约束导致的,那么想要删除该数据就需要取消外键约束。
解决办法:
在mysql console中执行 SET FOREIGN_KEY_CHECKS = 0;
然后再执行 Mysql 通过ibd文件恢复数据
中的 alter table matlab DISCARD TABLESPACE;
整个数据导入完成后 记得 SET FOREIGN_KEY_CHECKS = 1;
恢复外键约束。
以上方法参考解决方法