[发明专利]一种数据库迁移的方法、装置、设备及可读介质在审
申请号: | 202110559674.5 | 申请日: | 2021-05-21 |
公开(公告)号: | CN113407514A | 公开(公告)日: | 2021-09-17 |
发明(设计)人: | 徐帅 | 申请(专利权)人: | 济南浪潮数据技术有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/22;G06F16/242 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 张涛;陈黎明 |
地址: | 250000 山东省济南市中国(山东)自由贸易*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 迁移 方法 装置 设备 可读 介质 | ||
本发明提供了一种数据库迁移的方法、装置、设备及可读介质,该方法包括:将待迁移数据库中的数据转换成预设格式的表结构和数据,并将表结构和数据导出;将导出的表结构和数据转换为与所述待迁移数据库不同类型的目标数据库的导入文件;在目标数据库中执行建表及建索引语句后将导入文件导入到目标数据库中。通过使用本发明的方案,能够使得MySQL数据库向MongoDB数据库迁移更加方便,节省人力成本,为系统数据库架构的变更提供了保障。
技术领域
本领域涉及计算机领域,并且更具体地涉及一种数据库迁移的方法、装置、设备及可读介质。
背景技术
在大数据时代,随着数据量的暴增以及现有业务逻辑的不断变化升级,像MySQL数据库这种传统的关系型数据库在很多场景下已经无法支撑现有系统的使用,许多系统已经升级转型使用新型的非关系型数据库,例如MongoDB数据库。随着系统的升级,数据库架构的变动,历史积累的业务数据也必须安全的迁移到升级变动后的数据库。
目前各主流数据库仅支持同种数据库的备份导出导入等迁移策略,无法支持两种不同类型数据库之间的迁移。
发明内容
有鉴于此,本发明实施例的目的在于提出一种数据库迁移的方法、装置、设备及可读介质,通过使用本发明的技术方案,能够使得MySQL数据库向MongoDB数据库迁移更加方便,节省人力成本,为系统数据库架构的变更提供了保障。
基于上述目的,本发明的实施例的一个方面提供了一种数据库迁移的方法,包括以下步骤:
将待迁移数据库中的数据转换成预设格式的表结构和数据,并将表结构和数据导出;
将导出的表结构和数据转换为与所述待迁移数据库不同类型的目标数据库的导入文件;
在目标数据库中执行建表及建索引语句后将导入文件导入到目标数据库中。
根据本发明的一个实施例,待迁移数据库为MySQL数据库,目标数据库为MongoDB数据库。
根据本发明的一个实施例,将待迁移数据库中的数据转换成预设格式的表结构和数据,并将表结构和数据导出包括:
通过MySQL数据库中的dump命令生成待导出的MySQL数据库的表结构及数据;
通过数据库连接工具将表结构和数据进行导出。
根据本发明的一个实施例,将导出的表结构和数据转换为与所述待迁移数据库不同类型的目标数据库的导入文件包括:
将MySQL数据库中的表结构的建表语句和索引语句转换为MongoDB数据库的创建集合和创建索引语句;
将MySQL数据库的insert语句转换为CSV文件或MongoDB数据库的insert语句。
根据本发明的一个实施例,将MySQL数据库中的表结构的建表语句和索引语句转换为MongoDB数据库的创建集合和创建索引语句包括:
遍历导出的所有数据,并以分号为断点将数据切分成SQL语句;
通过字符串获取的方式获取每个SQL语句中的表名,并基于获取到的表名生成MongoDB数据库的建表语句;
通过匹配关键字primary key、unique key和key字符串获取每个SQL语句中的索引名及索引字段,并基于获取到的索引名及索引字段生成MongoDB数据库的索引语句。
根据本发明的一个实施例,将MySQL数据库的insert语句转换为CSV文件或MongoDB数据库的insert语句包括:
遍历导出的所有数据,并以分号为断点将数据切分成SQL语句;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于济南浪潮数据技术有限公司,未经济南浪潮数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110559674.5/2.html,转载请声明来源钻瓜专利网。