本申请实施例涉及大数据领域,尤其涉及一种数据迁移方法以及相关装置。
背景技术:
1、在软件开发的过程中,软件运行需要的数据会存放在产品的数据库内,当产品调整内部技术架构等情况时,不可避免需要切换软件使用的数据库管理系统。此时为了保证软件切换数据库管理系统后,能正常使用之前的数据并保证软件正常运行,需要提供一种方法来实现数据库快速、完整、准确的迁移。
2、目前现存较频繁被使用提及的数据迁移方法,一是使用数据库工具本身自带的迁入、迁出数据库表与数据的功能进行数据的迁移,二是使用loaddata方式对txt数据文本进行单表数据迁入。
3、然而单纯使用数据库工具自带的迁入迁出功能进行数据迁移,难以实现不同数据库管理系统之间的数据迁移,而通过loaddata的传输方式,限制了只能单表传输,当数据库在有大量数据表需要迁移时,效率太慢。
技术实现思路
1、本申请实施例提供了一种数据迁移方法以及相关装置,用于快速的迁移有大量数据表的数据库。
2、本申请实施例第一方面提供了一种数据迁移方法:
3、根据预设条件,从第一数据库中确定第一特征数据表;
4、根据所述第一特征数据表,执行第一命令,得到第一数据文件,所述第一数据文件包括第一表结构和第一表数据,所述第一表结构为所述第一数据库中全部数据表的表结构,所述第一表数据为所述第一数据库中除了所述第一特征数据表外的其他数据表的数据;
5、根据所述第一数据文件,执行第二命令,使得所述第一表结构与所述第一表数据迁入到第二数据库。
6、在一些可选的实施方式中,所述第一特征数据表包括第一特征表标识,所述第一命令包括mysqldump命令和所述第一特征表的标识。
7、在一些可选的实施方式中,所述第二命令包括gunzip命令和所述第一数据文件的文件名。
8、在一些可选的实施方式中,所述根据所述第一数据文件,执行第二命令之后,所述方法还包括:
9、执行验证脚本,得到第一统计结果和第二统计结果,所述第一统计结果包括所述第一数据库的全部数据表数量以及每个数据表的行数,所述第二统计结果包括所述第二数据库的全部数据表数量以及每个数据表的行数;
10、判断所述第一统计结果是否与所述第二统计结果一致;
11、若不一致,则针对数据不一致的数据表进行重新检查。
12、在一些可选的实施方式中,所述根据所述第一特征数据表,执行第一命令,得到第一数据文件之后,所述方法还包括:
13、根据所述第一特征数据表,执行第三命令,得到第二数据文件,所述第二数据文件包括第二表数据,所述第二表数据为所述第一特征数据表的数据;
14、根据所述第二数据文件,执行第四命令,使得所述第二表数据迁入到所述第二数据库。
15、在一些可选的实施方式中,当所述第一数据库与所述第二数据库部署在不同的服务器时,所述根据第一数据文件,执行第二命令之前,所述方法还包括:
16、将所述第一数据文件,通过文件传输协议ftp传输到部署所述第二数据库的服务器。
17、在一些可选的实施方式中,根据所述第一数据文件,执行第二命令之前,所述方法还包括:创建所述第二数据库。
18、本申请实施例第二方面提供了一种数据迁移装置,其中包括:
19、确定模块,用于根据预设条件,从第一数据库中确定第一特征数据表;
20、第一执行模块,用于根据所述第一特征数据表,执行第一命令,得到第一数据文件,所述第一数据文件包括第一表结构和第一表数据,所述第一表结构为所述第一数据库中全部数据表的表结构,所述第一表数据为所述第一数据库中除了所述第一特征数据表外的其他数据表的数据;
21、第二执行模块,用于根据所述第一数据文件,执行第二命令,使得所述第一表结构与所述第一表数据迁入到第二数据库。
22、本申请第三方面提供一种数据迁移装置,包括至少一个处理器,与存储器耦合;
23、所述存储器用于存储程序或指令;
24、所述至少一个处理器用于执行所述程序或指令,以使所述装置实现如第一方面中所述的方法。
25、本申请第四方面提供一种计算机可读存储介质,包括计算机指令,当该计算机指令在计算机上运行时,使得计算机执行如第一方面或第一方面中的任意一种实现方式。
26、从以上技术方案可以看出,本申请实施例具有以下优点:
27、在对第一数据库的数据进行迁出之前,通过预设条件筛选出特征数据表,使得从第一数据库迁出的数据文件可以快速的迁入到第二数据库;并且在数据迁入后,通过检验脚本验证迁出迁入结果,确保了数据迁移的准确性与完整性。
1.一种数据迁移方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述第一特征数据表包括第一特征表标识,所述第一命令包括mysqldump命令和所述第一特征表的标识。
3.根据权利要求1所述的方法,其特征在于,所述第二命令包括gunzip命令和所述第一数据文件的文件名。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一数据文件,执行第二命令之后,所述方法还包括:
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述根据所述第一特征数据表,执行第一命令,得到第一数据文件之后,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,当所述第一数据库与所述第二数据库部署在不同的服务器时,所述根据第一数据文件,执行第二命令之前,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述根据所述第一数据文件,执行第二命令之前,所述方法还包括:创建所述第二数据库。
8.一种数据迁移装置,其特征在于,包括:
9.一种数据迁移装置,其特征在于,包括至少一个处理器,与存储器耦合;
10.一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至7中任意一项所述的方法。