只使用.ibd文件拷贝mysql数据库

因为电脑进水,我需要把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; 恢复外键约束。

以上方法参考解决方法

猜你喜欢

转载自blog.csdn.net/m0_51711485/article/details/124764362