只需3步,新手也能轻松完成mysql千万级数据迁移
- 所需工具
- 数据迁移三部曲
- 第一步
- 第二步
- 第三步
- 数据迁移的事务执行
- 将查询结果保存到表
相信各位日常开发中经常会遇到各种需要做数据迁移的业务场景,想要快速迁移又不想费劲敲代码?找个趁手的工具,可以让这个任务变得轻松又快捷,只需简单3步,新手也能直接上手!
所需工具
SQLynx(原名SQL Studio):一个小巧免安装的数据库管理开发工具,个人版免费。支持多数据源同时接入管理,界面简洁容易上手。
数据迁移三部曲
第一步
打开想要迁移的源表,在这里为了便于区分我们叫它A表,为了方便操作,可以先复制A表的DDL语句。
*截图内容是随手写的一写字段类型,仅作参考哈~
第二步
打开需要迁移的目标数据库位置,根据复制的DDL创建一个新表,我们这里叫它B表;
第三步
选中A表右键点击数据迁移,简单设置下行数等参数,ok,传它!
只需稍等片刻,1300万行数据就可以传输完成了:
本次我们测试的表约为1.6GB,12个字段1300万行数据,不对表做任何设置或优化的前提下,可以实现348s完成迁移;同一张表我们也测试了向远程服务器上的数据库进行跨库迁移,受网络传输速度等因素影响耗时为579s,整体来说也还是非常省心了。
数据迁移的事务执行
此外,使用SQLynx进行数据操作可支持事务执行,数据迁移时可自行选择是否执行事务,可以避免了核对已完成部分数据的操作,确保迁移数据的前后一致性。
*当然我们也可以选择从A表导出SQL文件,然后到B表执行导入SQL文件的操作也是可以的。
将查询结果保存到表
SQLynx支持将查询结果直接迁移保存到新表,我们将查询语句返回的数据直接通过【保存到表】的功能,直接存储到数据库的其他位置,可以不用导出到本地,进一步提升了工作效率。
最后,我们在数据库整库备份和恢复的时候也可以使用SQLynx进行,可以很便捷的选择整库或者其中部分数据表备份到本地或恢复,无论你是DBA还是开发者,千万级别的数据迁移将变得更简洁高效。