CN104252502A - 一种数据库管理平台中数据迁移方法和装置 - Google Patents

一种数据库管理平台中数据迁移方法和装置 Download PDF

Info

Publication number
CN104252502A
CN104252502A CN201310270329.5A CN201310270329A CN104252502A CN 104252502 A CN104252502 A CN 104252502A CN 201310270329 A CN201310270329 A CN 201310270329A CN 104252502 A CN104252502 A CN 104252502A
Authority
CN
China
Prior art keywords
data
database example
database
target database
source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310270329.5A
Other languages
English (en)
Other versions
CN104252502B (zh
Inventor
乔婧
王春涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Feinno Communication Technology Co Ltd
Original Assignee
Beijing Feinno Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Feinno Communication Technology Co Ltd filed Critical Beijing Feinno Communication Technology Co Ltd
Priority to CN201310270329.5A priority Critical patent/CN104252502B/zh
Publication of CN104252502A publication Critical patent/CN104252502A/zh
Application granted granted Critical
Publication of CN104252502B publication Critical patent/CN104252502B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据库管理平台中数据迁移方法和装置。本发明实施例提供的一种数据库管理平台中的数据迁移方法包括:选取需要导出数据的源数据库实例和用于导入数据的目标数据库实例;配置源数据库实例的导出参数和目标数据库实例的导入参数;从数据库管理平台中获取源数据库实例和目标数据库实例的相关信息;利用所述导出参数将数据从源数据库实例导出,生成备份数据;利用所述导入参数将所述备份数据导入至目标数据库实例;利用所述相关信息和备份数据建立源数据库实例和目标数据库实例的主从关系,并执行源数据库实例和目标数据库实例的同步;设置源数据库实例和目标数据库实例的域名,实现目标数据库实例的上线运行。

Description

一种数据库管理平台中数据迁移方法和装置
技术领域
本发明涉及数据库技术领域,特别涉及一种数据库管理平台中数据迁移方法和装置。
背景技术
MySQL数据库服务器拥有很好的可扩展性,从仅有1MB的深度嵌入式应用到高达千兆的大型数据仓库,它都能够应对自如。MySQL还支持各种Linux、UNIX和Windows平台。同时,MySQL开源的特性使得其可以根据用户的需要进行定制,将用户的特殊要求加入到数据库服务器中。
在数据库的开发过程中,由于需求变更等多种原因,导致MySQL数据库系统运行一段时间后,架构不再适合业务发展,无法满足业务增长需求,数据库服务器性能无法满足业务需求等,数据迁移就成为一个不可避免的问题。
现有方案在执行MySQL数据库的数据迁移时,一般情况下是选择在一个业务低峰夜晚,停掉应用对数据库的读写,用事先写好的迁移程序,把MySQL数据库数据迁移到新结构的MySQL数据库中,迁移完成后,切换应用至新结构的MySQL数据库。现有方式最大的缺点就是随着数据量的增加停机时间会变得特别长,而导致应用中断的时间过长,影响了应用的运行。
发明内容
本发明提供了一种数据库管理平台中数据迁移方法和装置,以解决现有迁移方案中停机时间特别长,导致应用中断的时间过长,影响应用运行的问题。
为达到上述目的,本发明实施例采用了如下技术方案:
本发明实施例提供了一种数据库管理平台中的数据迁移方法,所述方法包括:
选取需要导出数据的源数据库实例和用于导入数据的目标数据库实例;
配置源数据库实例的导出参数和目标数据库实例的导入参数;
从数据库管理平台中获取源数据库实例和目标数据库实例的相关信息;
利用所述导出参数将数据从源数据库实例导出,生成备份数据;
利用所述导入参数将所述备份数据导入至目标数据库实例;
利用所述相关信息和备份数据建立源数据库实例和目标数据库实例的主从关系,并执行源数据库实例和目标数据库实例的同步;
设置源数据库实例和目标数据库实例的域名,实现目标数据库实例的上线运行。
本发明实施例还提供了一种数据库管理平台中的数据迁移装置,所述装置包括:
实例选取单元,用于选取需要导出数据的源数据库实例和用于导入数据的目标数据库实例;
参数配置单元,用于配置源数据库实例的导出参数和目标数据库实例的导入参数;
信息获取单元,用于从数据库管理平台中获取源数据库实例和目标数据库实例的相关信息;
数据导出单元,用于利用所述导出参数将数据从源数据库实例导出,生成备份数据;
数据导入单元,用于利用所述导入参数将所述备份数据导入至目标数据库实例;
主从同步单元,用于利用所述相关信息和备份数据建立源数据库实例和目标数据库实例的主从关系,并执行源数据库实例和目标数据库实例的同步;
域名设置单元,用于设置源数据库实例和目标数据库实例的域名,实现目标数据库实例的上线运行。
本发明实施例的有益效果是:
本发明实施例提供了一种基于数据库管理平台的数据迁移方案,采用在数据库实例之间执行数据导出导入操作的技术手段,由于数据库实例为处于运行状态的数据库程序,正是通过数据库实例的运行才使数据库向应用提供相应的服务,所以在数据库实例之间的执行数据导入导出的技术手段基本不需要停机,能够在应用访问数据库的同时,执行数据库数据的迁移操作,解决了现有迁移方案中停机时间特别长,导致应用中断时间过长,影响应用运行的问题,从而实现了数据库数据的无缝迁移,保证了应用的正常运行。
附图说明
图1为本发明一个实施例提供了一种数据库管理平台中的数据迁移方法流程图;
图2为本发明又一个实施例提供的一种数据库管理平台中的数据迁移装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明一个实施例提供了一种数据库管理平台中的数据迁移方法,参见图1,该方法包括如下步骤:
S100:选取需要导出数据的源数据库实例和用于导入数据的目标数据库实例。
S101:配置源数据库实例的导出参数和目标数据库实例的导入参数。
S102:从数据库管理平台中获取源数据库实例和目标数据库实例的相关信息。
S103:利用导出参数将数据从源数据库实例导出,生成备份数据。
S104:利用导入参数将备份数据导入至目标数据库实例。
S105:利用相关信息和备份数据建立源数据库实例和目标数据库实例的主从关系,并执行源数据库实例和目标数据库实例的同步。
S106:设置源数据库实例和目标数据库实例的域名,实现目标数据库实例的上线运行。
需要说明的是,本发明实施例中的数据库实例指计算机中处于运行状态的数据库程序,以及为这些程序分配的一些内存空间。实例只在数据库处于运行状态时才存在。数据库实例负责实现给用户提供网络连接、读写数据文件等等各种功能。
数据库管理平台对数据库实例进行配置和管理(如数据库实例的创建、启动、上线、下线等),并维护数据库实例、实例组、域名等各种信息。
本发明实施例提供了一种基于数据库管理平台的数据迁移方案,通过在数据库实例之间执行数据导出导入操作的技术手段,能够在应用访问数据库的同时,执行数据库数据的迁移操作,解决了现有迁移方案中停机时间特别长,导致应用中断时间过长,影响应用运行的问题,从而实现了数据库数据的无缝迁移,保证了应用的正常运行。
在图1所示实施例的基础上,本发明另一个实施例提供的方法中,上述步骤S100可以至少通过下述方式中的一种选取源数据库实例和目标数据库实例:
方式一、在源数据库实例所在的实例组中,从除源数据库实例之外的已存在的数据库实例中选取一数据库实例作为目标数据库实例。
这种方式下,源数据库实例和目标数据库实例位于同一实例组中。
方式二、在源数据库实例所在的实例组中增加一新的数据库实例,将该新的数据库实例作为目标数据库实例。
这种方式下,源数据库实例和目标数据库实例位于同一实例组中。可以在数据库管理平台中设置一台新的数据库主机,上述新增的数据库实例运行在该新的数据库主机上,该方式实现了对数据库结构的扩容。
方式三、在数据库管理平台上已存在的实例组中,从除源数据库实例所在的实例组之外选取一数据库实例作为目标数据库实例。
这种方式下,源数据库实例和目标数据库实例位于不同实例组中。
方式四、在数据库管理平台上新建一新实例组,从该新实例组中选取一数据库实例作为目标数据库实例。
上述新建的实例组可以为一个临时的实例组,例如为该实例组配置的域名只是一个临时域名,数据库管理平台并不利用该临时域名向应用提供服务。
需要说明的是,本方案中数据库管理平台基于实例组对数据库实例进行管理,数据库管理平台将运行相同数据的数据库实例划分在同一实例组中。
上述步骤S101中配置的源数据库实例的导出参数包括:源数据库实例的主机IP、源数据库实例端口、导出数据使用的数据库用户名、导出数据使用的用户密码、数据存放路径;配置的目标数据库实例的导入参数包括:目标数据库实例的主机IP、目标数据库实例端口、导入数据使用的数据库用户名、导入数据使用的用户密码、数据存放路径。通过导出参数和导入参数的配置建立一个实例间的数据导出导入任务。
可选的,本实施例在执行上述步骤S101时,还可以包括步骤S101b。在建立导出导入任务时,数据库管理平台先检查两个实例所在服务器的磁盘空间,如果磁盘空间充裕则将数据备份到本地后进行恢复,如空间不够则使用远程或管道的方式导入到新实例,生成相应的脚本。
即在步骤S101b中,判断所述源数据库实例所在的主机的磁盘空间是否大于预定阈值,若是,磁盘空间比较充裕,则生成第一脚本,后续在利用该第一脚本执行数据导出时,会在本地对导出的数据进行备份,生成备份数据;若否,磁盘空间比较紧张,则生成第二脚本,在利用该第二脚本执行数据导出时,会采用远程方式或管道方式,将导出的数据传输至目标主机(该目标主机可以为目标数据库实例所在的主机,也可以为备份时用于暂存备份数据的主机)进行备份,生成备份数据。
采用上述操作的主要原因在于,在执行数据备份操作时,备份中处理的数据量会大于需要备份的数据量,例如,需要导出的数据总量为50G时,在备份操作中使用的磁盘空间总量可能会达到150G(原数据量的2-3倍的存储空间),所以必需保证有充裕的磁盘空间以供备份操作的正常执行。
示例性的,可以利用mysqldump备份软件实现按照管道方式进行在线数据备份,或者利用Xtrabackup备份软件实现按照远程方式进行在线数据备份。
上述步骤S102中,获取到的相关信息主要包括实例组相关信息、实例相关信息和域名相关信息。
从数据库管理平台为每个实例组维护的实例组记录中获取实例组相关信息。所需获取的实例组相关信息主要包括实例组标识ID、实例组名和实例组端口。
数据库管理平台会为生成的每个实例组生成一条实例组记录,将该记录保存在实例组表中,实例组表中一条记录的示例可以参见下述表1:
表1、实例组表
字段Field 数据类型Type 描述Comment
id int(10)unsigned NOT NULL 实例组ID
name varchar(32)NOT NULL 实例组名
port int(10)unsigned NOT NULL 实例组端口
dbName varchar(128)NULL 数据库名,多个库之间以“,”分隔
zone varchar(255)NOT NULL 实例组使用域
masterIsRead tinyint(4)NOT NULL 主库读标识:实例组中主实例是否可读
cfgTemplate text NOT NULL 实例组配置模板
extInfo text NOT NULL 扩展信息,由JSON序列化存储
isRobin tinyint(4)NOT NULL 轮询开关1:参加轮询0:不参加轮询
上述实例组表中记载了数据库管理平台中各实例组的信息,例如,对于每一实例组,实例组表中记录的信息可以包括实例组ID(标识)、实例组名、实例组独有的端口、实例组关联的数据库名、实例组使用域、主库读标识、实例组默认实例配置模板、扩展信息和轮询开关等。
从数据库管理平台为每个实例维护的实例记录中获取实例相关信息。获取的该实例相关信息主要包括实例ID、所属实例组ID、主机ID、IP地址和端口。
数据库管理平台会为生成的每个实例生成一条实例记录,将该记录保存在实例表中,实例表中一条实例记录的示例可以参见下述表2:
表2、实例表
上述实例表中记载了数据库管理平台中各实例的信息,例如,对于每一数据库实例,实例表中记录的信息可以包括实例ID、所属实例组ID、所在主机ID、IP地址、实例名、端口、实例存活标志、实例关联的数据库名、管理用户名、管理用户密码、角色标识、切换优先级、实例状态、数据同步状态、配置模板。
从数据库管理平台为每个域名维护的动态DNS记录中获取域名相关信息,参见表3,示出了包含一条动态DNS记录的动态DNS表。
表3、动态DNS表
参见表3,需要获取到的域名相关信息主要包括域名ID、所属的域、子域名、域名类型、域名对应的IP、域名在高速缓存过期时间、互联网数据中心(IDC)分布、权重、辅助域相关参数、序列号、负责人、指定DNS服务器、统计用数据、实例组标识、实例标识和存活标志。
在步骤S102之后,启动数据导出导入任务,开始将源数据库实例的数据导入至目标数据库实例,该任务分为数据导出和数据导入(即备份和恢复)两部分。然后,进入步骤S103。
步骤S103中,利用源数据库实例的主机IP和源数据库实例端口定位到源数据库实例,并确认导出数据使用的数据库用户名和导出数据使用的用户密码具有从源数据库实例导出数据的权限;然后,利用导出参数中的数据存放路径查找到需要导出的数据,将该数据从源数据库实例导出。
进一步的,本实施例,在执行数据导出任务之前,计算需要导出的数据的总大小,则在步骤S103执行数据导出时,还包括:在执行导出任务时,每隔预定时间(如两分钟)计算已导出的数据大小与需要导出的数据的总大小的比例值,即计算‘已导出的数据大小/需要导出的数据的总大小’的数值,得到数据导出进度。可以将该导出进度在数据库管理平台提供的可视化界面上显示。
需要说明的是,在执行数据导出,生成备份数据时,会按照步骤S101b中的判断,利用第一脚本执行本地备份,或者,利用第二脚本执行远程或管道备份。备份结束后,进入步骤S104。
步骤S104中,利用导入参数将备份数据导入至目标数据库实例包括:
利用目标数据库实例的主机IP和目标数据库实例端口定位到目标数据库实例;确认导入数据使用的数据库用户名和导入数据使用的用户密码具有从目标数据库实例导入数据的权限;按照导入参数中的数据存放路径将备份数据导入至目标数据库实例。
进一步的,在执行数据导入任务之前,本方法还包括:计算需要导入的备份数据的总大小;则步骤S104中,在执行导入任务时,每隔预定时间(如两分钟)计算已导入的数据大小与需要导入的备份数据的总大小的比例值,即计算‘已导入的数据大小/备份数据的总大小’的数值,得到数据导入进度。可以将该导出进度在数据库管理平台提供的可视化界面上显示。
步骤S105中源数据库实例和目标数据库实例间数据导入完毕后建立两个实例间的主从关系。根据上述获取到的两个数据库实例的相关信息定位到源数据库实例和目标数据库实例,提取备份数据中记录的binlog信息和binlog_pos信息建立源数据库实例和目标数据库实例的主从关系。其中,数据库实例可以具有主库角色或者从库角色,从库需要与主库保持同步。在此,源数据库实例需要作为目标数据库实例的从库,而与其保持同步
启动主从同步操作,检查IO_Running(日志传输健康状态)值和SQL_Running(日志执行健康状态)值,以及获取同步延迟时间(Seconds_Behind_Master)值;
当日志传输健康状态值和日志执行健康状态值都指示同步健康,且同步延迟时间值指示延迟时间为零时,确认满足上线条件。
步骤S106中,启动域名切换任务切换域名。执行切换之前根据同步延迟时间值自动检查主从是否有延迟,无延迟的情况下将源实例组域名设置为不可解析状态,然后关闭掉源实例上的所有连接(如调用kill命令关掉连接),再次检查数据同步情况,主从都一致的情况下,将源数据库实例域名指向的IP设置为目标数据库实例的IP。
上述域名切换任务主要针对源数据库实例在数据导出后不再使用的情况,如步骤S100中方式四中的场景,然而,若在数据导出后,源数据库实例仍然使用,如步骤S100中方式一至三中的场景,步骤S106中保持源数据库实例和目标数据库实例的原有域名。
进一步的,本实施例在步骤S106之后,对于需要进行域名切换的场景还可以包括下述处理:
验证域名切换后的目标数据库实例的连接情况,确认该目标数据库实例的连接正常。在域名被设置为不可解析状态后,源数据库实例在一段时间内还会保留其物理状态,则验证当目标数据库实例的连接为正常时,将域名为不可解析状态但物理状态保持正常的源数据库实例作为目标数据库实例的从库进行数据同步,实现数据的回滚操作,以当目标数据库实例出现故障时,将目标数据库实例中的数据退回至源数据库实例。
需要说明的是,在进行应用切换时,需要将数据库主机短暂停机,但是,应用切换停机时间极短,不超过2分钟;DNS域名切换不需要停机,且DNS域名切换方式更是可以达到瞬间切换,时间仅在秒级。所以,本实施例提供的数据库管理平台的平滑迁移功能实现了尽量短的停机,无缝的数据迁移。
另外,数据库管理平台提供可视化界面操作,极大便利了数据迁移的操作,具有如下优点:
1.在图形化界面进行数据库实例的创建;
2.在图形化界面进行数据导出导入参数的配置;
3.在图形化界面通过点击按钮触发自动数据导入;
4.利用图形化界面自动读取binlog信息和binlog_pos信息建立新旧实例的主从复制;
5.在图形化界面通过点击按钮按钮触发域名切换;
6.在图形化界面触发数据库管理平台自动检测数据库实例的连接数;
7.在图形化界面触发数据库管理平台自动执行数据回滚,以起到数据备用作用。
本发明又一个实施例还提供了一种数据库管理平台中的数据迁移装置,参见图2,该装置包括:
实例选取单元200,用于选取需要导出数据的源数据库实例和用于导入数据的目标数据库实例;
参数配置单元201,用于配置源数据库实例的导出参数和目标数据库实例的导入参数;
信息获取单元202,用于从数据库管理平台中获取源数据库实例和目标数据库实例的相关信息;
数据导出单元203,用于利用所述导出参数将数据从源数据库实例导出,生成备份数据;
数据导入单元204,用于利用所述导入参数将所述备份数据导入至目标数据库实例;
主从同步单元205,用于利用所述相关信息和备份数据建立源数据库实例和目标数据库实例的主从关系,并执行源数据库实例和目标数据库实例的同步;
域名设置单元206,用于设置源数据库实例和目标数据库实例的域名,实现目标数据库实例的上线运行。
其中,参数配置单元201配置的源数据库实例的导出参数包括:源数据库实例的主机IP、源数据库实例端口、导出数据使用的数据库用户名、导出数据使用的用户密码、数据存放路径;
参数配置单元201配置的目标数据库实例的导入参数包括:目标数据库实例的主机IP、目标数据库实例端口、导入数据使用的数据库用户名、导入数据使用的用户密码、数据存放路径。
其中,数据导出单元203利用所述源数据库实例的主机IP和源数据库实例端口定位到源数据库实例;确认所述导出数据使用的数据库用户名和导出数据使用的用户密码具有从源数据库实例导出数据的权限;利用所述导出参数中的数据存放路径查找到需要导出的数据,将该数据从源数据库实例导出。
数据导入单元204利用所述目标数据库实例的主机IP和目标数据库实例端口定位到目标数据库实例;确认所述导入数据使用的数据库用户名和导入数据使用的用户密码具有从目标数据库实例导入数据的权限;按照所述导入参数中的数据存放路径将所述备份数据导入至目标数据库实例。
其中,数据导出单元203在利用所述导出参数将数据从源数据库实例导出之前,计算需要导出的数据的总大小,在执行导出任务时,每隔预定时间计算已导出的数据大小与需要导出的数据的总大小的比例值,得到数据导出进度;
数据导入单元204在利用所述导入参数将所述备份数据导入至目标数据库实例之前,计算需要导入的备份数据的总大小;在执行导入任务时,每隔预定时间计算已导入的数据大小与需要导入的备份数据的总大小的比例值,得到数据导入进度。
其中,参数配置单元201在所述配置源数据库实例的导出参数和目标数据库实例的导入参数时,判断所述源数据库实例所在的主机的磁盘空间是否大于预定阈值,若是,则生成第一脚本,在利用该第一脚本执行数据导出时,会在本地对导出的数据进行备份,生成备份数据;若否,则生成第二脚本,在利用该第二脚本执行数据导出时,会采用远程方式或管道方式,将导出的数据传输至目标主机进行备份,生成备份数据。
其中,主从同步单元205根据获取到的所述相关信息定位到源数据库实例和目标数据库实例;提取所述备份数据中记录的binlog信息和binlog_pos信息建立源数据库实例和目标数据库实例的主从关系;启动主从同步操作,检查日志传输健康状态(IO_Running)值和日志执行健康状态(SQL_Running)值,以及获取同步延迟时间值;当日志传输健康状态值和日志执行健康状态值都指示同步健康,且同步延迟时间值指示延迟时间为零时,确认满足上线条件。
其中,本装置将运行相同数据的数据库实例划分在同一实例组中,实例选取单元200在源数据库实例所在的实例组中,从除源数据库实例之外的已存在的数据库实例中选取一数据库实例作为目标数据库实例;和/或,在源数据库实例所在的实例组中增加一新的数据库实例,将该新的数据库实例作为目标数据库实例;和/或,在数据库管理平台上已存在的实例组中,从除源数据库实例所在的实例组之外选取一数据库实例作为目标数据库实例;和/或,在数据库管理平台上新建一新实例组,从该新实例组中选取一数据库实例作为目标数据库实例。
其中,域名设置单元206将源数据库实例的域名设置为不可解析状态,将源数据库实例域名指向的IP设置为目标数据库实例的IP;和/或,保持源数据库实例和目标数据库实例的原有域名。
进一步的,本装置还包括回滚单元,用于在设置源数据库实例和目标数据库实例的域名,实现目标数据库实例的上线运行之后,验证当目标数据库实例的连接为正常时,将域名为不可解析状态但物理状态保持正常的源数据库实例作为目标数据库实例的从库进行数据同步,以当目标数据库实例出现故障时,将目标数据库实例中的数据退回至源数据库实例。
本发明装置实施例中各单元的具体工作方式,可以参见本发明方法实施例中相关内容的描述,在此不再赘述。
本发明提供了一种数据库管理平台之平滑迁移方案,实现了尽量短的停机,无缝的迁移。该数据库管理平台能够提供可视化界面操作,可选择使用mysqldump或者Xtrabackup备份软件进行在线热备,自动导入或恢复到新数据库实例,导入或恢复完成后可自动进行新老数据库实例的数据同步,然后在适当的时间点进行应用切换或者DNS域名切换。应用切换停机时间极短,不超过2分钟。DNS域名切换方式不需停机,且DNS切换更是可以达到瞬间切换,时间仅在秒级。
由上,本发明实施例提供的基于数据库管理平台的数据迁移方案,采用在数据库实例之间执行数据导出导入操作的技术手段,由于数据库实例为处于运行状态的数据库程序,正是通过数据库实例的运行才使数据库向应用提供相应的服务,所以在数据库实例之间的执行数据导入导出的技术手段基本不需要停机,能够在应用访问数据库的同时,执行数据库数据的迁移操作,解决了现有迁移方案中停机时间特别长,导致应用中断时间过长,影响应用运行的问题,从而实现了数据库数据的无缝迁移,保证了应用的正常运行。
为了便于清楚描述本发明实施例的技术方案,在发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种数据库管理平台中的数据迁移方法,其特征在于,所述方法包括:
选取需要导出数据的源数据库实例和用于导入数据的目标数据库实例;
配置源数据库实例的导出参数和目标数据库实例的导入参数;
从数据库管理平台中获取源数据库实例和目标数据库实例的相关信息;
利用所述导出参数将数据从源数据库实例导出,生成备份数据;
利用所述导入参数将所述备份数据导入至目标数据库实例;
利用所述相关信息和备份数据建立源数据库实例和目标数据库实例的主从关系,并执行源数据库实例和目标数据库实例的同步;
设置源数据库实例和目标数据库实例的域名,实现目标数据库实例的上线运行。
2.根据权利要求1所述的方法,其特征在于,
所述配置的源数据库实例的导出参数包括:源数据库实例的主机IP、源数据库实例端口、导出数据使用的数据库用户名、导出数据使用的用户密码和数据存放路径;
所述配置的目标数据库实例的导入参数包括:目标数据库实例的主机IP、目标数据库实例端口、导入数据使用的数据库用户名、导入数据使用的用户密码和数据存放路径。
3.根据权利要求2所述的方法,其特征在于,
所述利用所述导出参数将数据从源数据库实例导出,生成备份数据包括:
利用所述源数据库实例的主机IP和源数据库实例端口定位到源数据库实例;
确认所述导出数据使用的数据库用户名和导出数据使用的用户密码具有从源数据库实例导出数据的权限;
利用所述导出参数中的数据存放路径查找到需要导出的数据,将该数据从源数据库实例导出;以及,
所述利用所述导入参数将所述备份数据导入至目标数据库实例包括:
利用所述目标数据库实例的主机IP和目标数据库实例端口定位到目标数据库实例;
确认所述导入数据使用的数据库用户名和导入数据使用的用户密码具有从目标数据库实例导入数据的权限;
按照所述导入参数中的数据存放路径将所述备份数据导入至目标数据库实例。
4.根据权利要求1至3任一项所述的方法,其特征在于,在利用所述导出参数将数据从源数据库实例导出之前,所述方法还包括:
计算需要导出的数据的总大小;
所述利用所述导出参数将数据从源数据库实例导出包括:
在执行导出任务时,每隔预定时间计算已导出的数据大小与需要导出的数据的总大小的比例值,得到数据导出进度;
以及,
在利用所述导入参数将所述备份数据导入至目标数据库实例之前,所述方法还包括:计算需要导入的备份数据的总大小;
所述利用所述导入参数将所述备份数据导入至目标数据库实例包括:
在执行导入任务时,每隔预定时间计算已导入的数据大小与需要导入的备份数据的总大小的比例值,得到数据导入进度。
5.根据权利要求1所述的方法,其特征在于,在所述配置源数据库实例的导出参数和目标数据库实例的导入参数时,所述方法还包括:
判断所述源数据库实例所在的主机的磁盘空间是否大于预定阈值,若是,则生成第一脚本,在利用该第一脚本执行数据导出时,会在本地对导出的数据进行备份,生成备份数据;若否,则生成第二脚本,在利用该第二脚本执行数据导出时,会采用远程方式或管道方式,将导出的数据传输至目标主机进行备份,生成备份数据。
6.根据权利要求1所述的方法,其特征在于,所述利用所述相关信息和备份数据建立源数据库实例和目标数据库实例的主从关系,并执行源数据库实例和目标数据库实例的同步包括:
根据获取到的所述相关信息定位到源数据库实例和目标数据库实例;
提取所述备份数据中记录的二进制日志binlog信息和日志位置binlog_pos信息建立源数据库实例和目标数据库实例的主从关系;
启动主从同步操作,检查日志传输健康状态IO_Running值和日志执行健康状态SQL_Running值,以及获取同步延迟数据;
当日志传输健康状态值和日志执行健康状态值都指示同步健康,且同步延迟时间值指示延迟时间为零时,确认满足上线条件。
7.根据权利要求1所述的方法,其特征在于,将运行相同数据的数据库实例划分在同一实例组中,所述选取需要导出数据的源数据库实例和用于导入数据的目标数据库实例包括:
在源数据库实例所在的实例组中,从除源数据库实例之外的已存在的数据库实例中选取一数据库实例作为目标数据库实例;和/或,
在源数据库实例所在的实例组中增加一新的数据库实例,将该新的数据库实例作为目标数据库实例;和/或,
在数据库管理平台上已存在的实例组中,从除源数据库实例所在的实例组之外选取一数据库实例作为目标数据库实例;和/或,
在数据库管理平台上新建一新实例组,从该新实例组中选取一数据库实例作为目标数据库实例。
8.根据权利要求1所述的方法,其特征在于,所述设置源数据库实例和目标数据库实例的域名,实现目标数据库实例的上线运行包括:
将源数据库实例的域名设置为不可解析状态,将源数据库实例域名指向的IP设置为目标数据库实例的IP;和/或,
保持源数据库实例和目标数据库实例的原有域名。
9.根据权利要求1所述的方法,其特征在于,在所述设置源数据库实例和目标数据库实例的域名,实现目标数据库实例的上线运行后,所述方法还包括:
验证当目标数据库实例的连接为正常时,将域名为不可解析状态但物理状态保持正常的源数据库实例作为目标数据库实例的从库进行数据同步,以当目标数据库实例出现故障时,将目标数据库实例中的数据退回至源数据库实例。
10.一种数据库管理平台中的数据迁移装置,其特征在于,所述装置包括:
实例选取单元,用于选取需要导出数据的源数据库实例和用于导入数据的目标数据库实例;
参数配置单元,用于配置源数据库实例的导出参数和目标数据库实例的导入参数;
信息获取单元,用于从数据库管理平台中获取源数据库实例和目标数据库实例的相关信息;
数据导出单元,用于利用所述导出参数将数据从源数据库实例导出,生成备份数据;
数据导入单元,用于利用所述导入参数将所述备份数据导入至目标数据库实例;
主从同步单元,用于利用所述相关信息和备份数据建立源数据库实例和目标数据库实例的主从关系,并执行源数据库实例和目标数据库实例的同步;
域名设置单元,用于设置源数据库实例和目标数据库实例的域名,实现目标数据库实例的上线运行。
CN201310270329.5A 2013-06-29 2013-06-29 一种数据库管理平台中数据迁移方法和装置 Active CN104252502B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310270329.5A CN104252502B (zh) 2013-06-29 2013-06-29 一种数据库管理平台中数据迁移方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310270329.5A CN104252502B (zh) 2013-06-29 2013-06-29 一种数据库管理平台中数据迁移方法和装置

Publications (2)

Publication Number Publication Date
CN104252502A true CN104252502A (zh) 2014-12-31
CN104252502B CN104252502B (zh) 2017-12-01

Family

ID=52187398

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310270329.5A Active CN104252502B (zh) 2013-06-29 2013-06-29 一种数据库管理平台中数据迁移方法和装置

Country Status (1)

Country Link
CN (1) CN104252502B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105701251A (zh) * 2016-03-04 2016-06-22 浪潮通用软件有限公司 一种基于对象定义的数据导出导入方法
CN105955989A (zh) * 2015-12-31 2016-09-21 无锡华云数据技术服务有限公司 一种云平台数据库主从服务器的建立方法
CN105956188A (zh) * 2016-06-07 2016-09-21 浪潮电子信息产业股份有限公司 一种在不同类型数据库间导出导入二进制文件的方法
CN106055698A (zh) * 2016-06-14 2016-10-26 智者四海(北京)技术有限公司 数据迁移方法、代理节点及数据库实例
CN107085579A (zh) * 2016-02-16 2017-08-22 中国移动通信集团福建有限公司 一种数据采集分发方法及装置
CN107203617A (zh) * 2017-05-24 2017-09-26 杭州铭师堂教育科技发展有限公司 基于MHA的mysql在线迁移系统及方法
CN107977466A (zh) * 2017-12-21 2018-05-01 广东小天才科技有限公司 一种数据库升级方法及装置
CN107992559A (zh) * 2017-11-28 2018-05-04 江苏中威科技软件系统有限公司 多数据源的数据迁移方法
CN108319596A (zh) * 2017-01-16 2018-07-24 阿里巴巴集团控股有限公司 一种数据库的扩容方法和装置
CN108733699A (zh) * 2017-04-19 2018-11-02 北京京东尚科信息技术有限公司 数据库主从复制系统、方法和装置
CN109783571A (zh) * 2018-12-13 2019-05-21 平安科技(深圳)有限公司 隔离环境的数据处理方法、装置、计算机设备及存储介质
CN109977102A (zh) * 2019-03-27 2019-07-05 网易(杭州)网络有限公司 数据处理方法、装置、介质及电子设备
CN110297828A (zh) * 2019-06-13 2019-10-01 北京字节跳动网络技术有限公司 管理数据仓库表的方法、装置、存储介质及电子设备
CN111241062A (zh) * 2020-01-10 2020-06-05 苏州浪潮智能科技有限公司 一种数据库备份元数据的迁移方法及装置
CN111708759A (zh) * 2020-06-12 2020-09-25 北京思特奇信息技术股份有限公司 一种大表数据移植的优化方法和系统
US11650833B1 (en) 2020-01-15 2023-05-16 State Farm Mutual Automobile Insurance Company Systems and methods for automatically generating guided user interfaces (GUIs) for tracking and migrating legacy networked resources within an enterprise during a technical migration

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110060719A1 (en) * 2009-09-05 2011-03-10 Vivek Kapoor Method for Transforming Setup Data in Business Applications
CN102063500A (zh) * 2011-01-04 2011-05-18 北京凯铭风尚网络技术有限公司 一种数据迁移的方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110060719A1 (en) * 2009-09-05 2011-03-10 Vivek Kapoor Method for Transforming Setup Data in Business Applications
CN102063500A (zh) * 2011-01-04 2011-05-18 北京凯铭风尚网络技术有限公司 一种数据迁移的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吟一: "生产环境究竟是使用mysqldump还是xtrabackup来备份与恢复数据库?", 《WWW.TUICOOL.COM》 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955989A (zh) * 2015-12-31 2016-09-21 无锡华云数据技术服务有限公司 一种云平台数据库主从服务器的建立方法
CN105955989B (zh) * 2015-12-31 2020-12-22 华云数据控股集团有限公司 一种云平台数据库主从服务器的建立方法
CN107085579A (zh) * 2016-02-16 2017-08-22 中国移动通信集团福建有限公司 一种数据采集分发方法及装置
CN105701251A (zh) * 2016-03-04 2016-06-22 浪潮通用软件有限公司 一种基于对象定义的数据导出导入方法
CN105956188A (zh) * 2016-06-07 2016-09-21 浪潮电子信息产业股份有限公司 一种在不同类型数据库间导出导入二进制文件的方法
CN106055698A (zh) * 2016-06-14 2016-10-26 智者四海(北京)技术有限公司 数据迁移方法、代理节点及数据库实例
CN108319596A (zh) * 2017-01-16 2018-07-24 阿里巴巴集团控股有限公司 一种数据库的扩容方法和装置
CN108733699A (zh) * 2017-04-19 2018-11-02 北京京东尚科信息技术有限公司 数据库主从复制系统、方法和装置
CN107203617A (zh) * 2017-05-24 2017-09-26 杭州铭师堂教育科技发展有限公司 基于MHA的mysql在线迁移系统及方法
CN107992559A (zh) * 2017-11-28 2018-05-04 江苏中威科技软件系统有限公司 多数据源的数据迁移方法
CN107977466A (zh) * 2017-12-21 2018-05-01 广东小天才科技有限公司 一种数据库升级方法及装置
CN109783571A (zh) * 2018-12-13 2019-05-21 平安科技(深圳)有限公司 隔离环境的数据处理方法、装置、计算机设备及存储介质
CN109783571B (zh) * 2018-12-13 2023-10-27 平安科技(深圳)有限公司 隔离环境的数据处理方法、装置、计算机设备及存储介质
CN109977102A (zh) * 2019-03-27 2019-07-05 网易(杭州)网络有限公司 数据处理方法、装置、介质及电子设备
CN110297828A (zh) * 2019-06-13 2019-10-01 北京字节跳动网络技术有限公司 管理数据仓库表的方法、装置、存储介质及电子设备
CN111241062A (zh) * 2020-01-10 2020-06-05 苏州浪潮智能科技有限公司 一种数据库备份元数据的迁移方法及装置
CN111241062B (zh) * 2020-01-10 2023-01-10 苏州浪潮智能科技有限公司 一种数据库备份元数据的迁移方法及装置
US11650833B1 (en) 2020-01-15 2023-05-16 State Farm Mutual Automobile Insurance Company Systems and methods for automatically generating guided user interfaces (GUIs) for tracking and migrating legacy networked resources within an enterprise during a technical migration
US12039352B2 (en) 2020-01-15 2024-07-16 State Farm Mutual Automobile Insurance Company Systems and methods for automatically generating guided user interfaces (GUIs) for tracking and migrating legacy networked resources within an enterprise during a technical migration
CN111708759A (zh) * 2020-06-12 2020-09-25 北京思特奇信息技术股份有限公司 一种大表数据移植的优化方法和系统

Also Published As

Publication number Publication date
CN104252502B (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
CN104252502A (zh) 一种数据库管理平台中数据迁移方法和装置
CN104252500B (zh) 一种数据库管理平台的故障修复方法和装置
CN103077242B (zh) 一种实现数据库服务器双机热备的方法
CN104134173B (zh) 基于远程调阅和信息交互的主配网图/模/数集成系统
CN103853837B (zh) Oracle全自动不停生产数据库的表级备份恢复方法
CN106502823A (zh) 数据云备份方法和系统
CN102122306A (zh) 一种数据处理方法及应用该方法的分布式文件系统
CN101276364A (zh) 一种分布式计算数据合并方法、系统及其装置
CN105955836A (zh) 一种冷热备份自动演练多功能系统
CN101577735A (zh) 一种接管故障元数据服务器的方法、装置及系统
CN102710763B (zh) 一种分布式缓存池化、分片及故障转移的方法及系统
CN108874590A (zh) 一种云主机自动备份与恢复的系统
CN103067525A (zh) 一种基于特征码的云存储数据备份方法
CN105589887A (zh) 分布式文件系统的数据处理方法及分布式文件系统
CN102118446A (zh) 基于web的高性能智能报表系统
CN104935469A (zh) 一种日志信息分布式存储方法及系统
CN105007193A (zh) 一种多层信息处理方法、系统及集群管理节点
CN104021200A (zh) 一种数据库的数据同步方法和装置
CN102508886A (zh) 一种基于xml的空间数据增量同步更新方法
CN104572415A (zh) 一种适用于分布式系统的事务日志记录方法
CN111913933B (zh) 基于统一支撑平台的电网历史数据管理方法及系统
CN107734017A (zh) 数据服务方法及系统
CN105117860A (zh) 一种基于人脸识别设备的互联网考勤系统和方法
CN104536852A (zh) 数据恢复方法及装置
CN103699644A (zh) 一种资讯发布的方法、用户终端及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080

Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building 6 storey block A room 602

Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.