只需3步,新手也能轻松完成mysql千万级数据迁移

  • 所需工具
  • 数据迁移三部曲
  • 第一步
  • 第二步
  • 第三步
  • 数据迁移的事务执行
  • 将查询结果保存到表



相信各位日常开发中经常会遇到各种需要做数据迁移的业务场景,想要快速迁移又不想费劲敲代码?找个趁手的工具,可以让这个任务变得轻松又快捷,只需简单3步,新手也能直接上手!

所需工具

SQLynx(原名SQL Studio):一个小巧免安装的数据库管理开发工具,个人版免费。支持多数据源同时接入管理,界面简洁容易上手。

mysql怎么把几千万数据分组 mysql千万级数据导出_数据库

数据迁移三部曲

第一步

打开想要迁移的源表,在这里为了便于区分我们叫它A表,为了方便操作,可以先复制A表的DDL语句。

*截图内容是随手写的一写字段类型,仅作参考哈~

mysql怎么把几千万数据分组 mysql千万级数据导出_数据迁移_02


mysql怎么把几千万数据分组 mysql千万级数据导出_数据迁移_03

第二步

打开需要迁移的目标数据库位置,根据复制的DDL创建一个新表,我们这里叫它B表;

mysql怎么把几千万数据分组 mysql千万级数据导出_sql_04

第三步

选中A表右键点击数据迁移,简单设置下行数等参数,ok,传它!

mysql怎么把几千万数据分组 mysql千万级数据导出_sql_05


只需稍等片刻,1300万行数据就可以传输完成了:

mysql怎么把几千万数据分组 mysql千万级数据导出_数据迁移_06


本次我们测试的表约为1.6GB,12个字段1300万行数据,不对表做任何设置或优化的前提下,可以实现348s完成迁移;同一张表我们也测试了向远程服务器上的数据库进行跨库迁移,受网络传输速度等因素影响耗时为579s,整体来说也还是非常省心了。

mysql怎么把几千万数据分组 mysql千万级数据导出_数据迁移_07

数据迁移的事务执行

此外,使用SQLynx进行数据操作可支持事务执行,数据迁移时可自行选择是否执行事务,可以避免了核对已完成部分数据的操作,确保迁移数据的前后一致性。

mysql怎么把几千万数据分组 mysql千万级数据导出_sql_08


*当然我们也可以选择从A表导出SQL文件,然后到B表执行导入SQL文件的操作也是可以的。

将查询结果保存到表

SQLynx支持将查询结果直接迁移保存到新表,我们将查询语句返回的数据直接通过【保存到表】的功能,直接存储到数据库的其他位置,可以不用导出到本地,进一步提升了工作效率。

mysql怎么把几千万数据分组 mysql千万级数据导出_mysql_09


最后,我们在数据库整库备份和恢复的时候也可以使用SQLynx进行,可以很便捷的选择整库或者其中部分数据表备份到本地或恢复,无论你是DBA还是开发者,千万级别的数据迁移将变得更简洁高效。