最近在工作过程中面临一个问题,将MySQL数据从测试环境Copy到另一个测试环境(两个测试环境),其中数据量最大的一张表有330W数据,尝试了很多种方法都以失败告终,最终使用最新版本的Workbench解决了该问题。
这种方法的原理是将数据生成批量插入脚本,然后导入的时候再执行该批量脚本。
一、环境
MySQL Workbench: 8.0.21
二、流程
1. 打开Workbench,找到Server选项卡,注意里面有两个子项Data Export和Data Import。
2. 导出数据,点击Data Export选项
(1) 在Object Selection里选择需要导出的数据库,在右侧选择要导出的数据表;
(2) 选择Dump Data Only(只导出数据),也可以导出数据+结构;
(3) 点击Start Export,整个导出过程持续了不到4分钟。
3. 导入数据
(1) 如果你导出数据时的数据库名称与导入数据库的名称不一致(比如从user_test数据库导入到user_test2数据库),此时需要修改导出的sql文件,用记事本打开SQL文件,修改Database为目标数据库名称。
注意因数据量较大,打开SQL时务必使用记事本,否则可能照成其他软件无响应直至Crash。
(2) 选择Data Import
确认红框选中的三点,点击Start Import。