CN117891694A - MySQL数据库主从同步监控管理方法、系统、终端及介质 - Google Patents
MySQL数据库主从同步监控管理方法、系统、终端及介质 Download PDFInfo
- Publication number
- CN117891694A CN117891694A CN202410171068.XA CN202410171068A CN117891694A CN 117891694 A CN117891694 A CN 117891694A CN 202410171068 A CN202410171068 A CN 202410171068A CN 117891694 A CN117891694 A CN 117891694A
- Authority
- CN
- China
- Prior art keywords
- data
- master
- slave
- database
- tool
- 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.)
- Pending
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 124
- 238000007726 management method Methods 0.000 title claims abstract description 76
- 230000001360 synchronised effect Effects 0.000 claims abstract description 79
- 238000001514 detection method Methods 0.000 claims abstract description 29
- 230000010076 replication Effects 0.000 claims abstract description 21
- 230000002159 abnormal effect Effects 0.000 claims abstract description 16
- 230000008439 repair process Effects 0.000 claims abstract description 13
- 238000007689 inspection Methods 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 description 19
- 238000012423 maintenance Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000007639 printing Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及MySQL数据库主从同步领域,具体公开一种MySQL数据库主从同步监控管理方法、系统、终端及介质,创建同步监控管理脚本,在同步监控管理脚本中集成高级命令行工具集合;其中高级命令行工具包括数据一致性检测工具、数据同步修复工具和延迟监测工具;在主数据库和从数据库执行数据同步期间,按照计划任务周期性执行同步监控管理脚本,通过数据一致性检测工具检测主从同步数据是否一致,在数据不一致时通过数据同步修复工具完成数据修复,并通过延迟监测工具实现主从数据延迟状态检查,延迟状态异常时发出告警。本发明对同步数据的一致性和延迟状态进行监控,有效监控数据复制的状态,在数据集不一致时自动修复,保障数据一致性。
Description
技术领域
本发明涉及MySQL数据库主从同步领域,具体涉及一种MySQL数据库主从同步监控管理方法、系统、终端及介质。
背景技术
基于数据安全以及系统性能的考虑,数据库主从的方案实现系统数据的高可用成为了企业的首选,它是MySQL数据库的一种可用性、容错性技术实现方式,可以减少单点故障的发生,支持主库故障后的快速切换,从而有效地实现数据的备份和恢复,同步管理数据安全,如何监控数据库的主从是否一致、延迟管理,成为了日常运维管理管理员的当务之急。
传统的监控方式更多的是对系统或者应用单一指标的监控,对于数据库的监控也更多地是监控系统的性能,无法有效监控数据复制是否正常。另外,在系统运行过程中,MySQL主从复制会在某些极端情况下发生一些常规问题,比如主数据库宕机或者从数据库宕机有可能导致复制中断,又或者由于网络原因主从复制中断,中断会导致主从库数据不一致的情况,这时候通常需要进行人为修复,或者很多时候需要把一个从库提升为主库,但对从数据库和主数据库的数据一致性不能完全保证,导致数据复制异常,影响数据的可用性,进而不能保障数据备份的安全性。
发明内容
为解决上述问题,本发明提供一种MySQL数据库主从同步监控管理方法、系统、终端及介质,对同步数据的一致性和延迟状态进行监控,有效监控数据复制的状态,在数据集不一致时自动修复,保障数据一致性和安全性,发生延迟状态异常时发出告警,节省数据库管理员的巡查时间,提高运维效率。
第一方面,本发明的技术方案提供一种MySQL数据库主从同步监控管理方法,包括以下步骤:
创建同步监控管理脚本,在同步监控管理脚本中集成高级命令行工具集合;其中高级命令行工具包括数据一致性检测工具、数据同步修复工具和延迟监测工具;
在主数据库和从数据库执行数据同步期间,按照计划任务周期性执行同步监控管理脚本,通过数据一致性检测工具检测主从同步数据是否一致,在数据不一致时通过数据同步修复工具完成数据修复,并通过延迟监测工具实现主从数据延迟状态检查,延迟状态异常时发出告警。
在一个可选的实施方式中,通过数据一致性检测工具检测主从同步数据是否一致,具体包括:
在主数据库执行基于statement的sql语句生成主数据库数据块的校验和;
将相同的sql语句传递到从数据库进行执行,并在从数据库上计算相同数据块的校验和;
比较主数据库和从数据库中相同数据库的校验和是否相同;
若相同,则主从同步数据一致,否则主从同步数据不一致。
在一个可选的实施方式中,在主数据库执行基于statement的sql语句生成主数据库数据块的校验和之前,还包括以下步骤:
根据唯一索引将表按照行切分为若干数据块。
在一个可选的实施方式中,通过数据一致性检测工具检测主从同步数据是否一致,具体还包括:
检测主从数据复制延迟是否超过延迟阈值,以及主数据库的负载是否超过负载阈值;
若主从数据复制延迟超过延迟阈值和/或主数据库的负载超过负载阈值,则停止主从同步数据一致性的检测。
在一个可选的实施方式中,在数据不一致时通过数据同步修复工具完成数据修复,具体包括:
针对当前数据不一致的数据块,依次检测数据块中各行数据在主数据库和从数据库中是否一致;
若不一致,则在主数据库执行replace into语句生成当前行全量的逻辑日志;
将生成的逻辑日志传送到从数据库,在从数据库中重新执行逻辑日志。
在一个可选的实施方式中,通过延迟监测工具实现主从数据延迟状态检查,具体包括:
在主数据库中创建一个心跳表,心跳表中包含一个时间戳字段;
周期性修改心跳表中的时间戳字段;
从数据库复制心跳表,提取所复制心跳表中时间戳字段的时间;
将所提取时间与本地时间进行对比获得时间差值;
判断所获得时间差值是否符合预期;
若是,则未发生延迟且复制状态正常,否则发生延迟且复制状态异常。
在一个可选的实施方式中,延迟状态异常时发出告警,具体包括:
若发生延迟且复制状态异常,则发送报警邮件。
第二方面,本发明的技术方案提供一种MySQL数据库主从同步监控管理系统,包括,
脚本创建模块:创建同步监控管理脚本,在同步监控管理脚本中集成高级命令行工具集合;其中高级命令行工具包括数据一致性检测工具、数据同步修复工具和延迟监测工具;
同步监控管理模块:在主数据库和从数据库执行数据同步期间,按照计划任务周期性执行同步监控管理脚本,通过数据一致性检测工具检测主从同步数据是否一致,在数据不一致时通过数据同步修复工具完成数据修复,并通过延迟监测工具实现主从数据延迟状态检查,延迟状态异常时发出告警。
第三方面,本发明的技术方案提供一种终端,包括:
存储器,用于存储MySQL数据库主从同步监控管理程序;
处理器,用于执行所述MySQL数据库主从同步监控管理程序时实现如上述任一项所述MySQL数据库主从同步监控管理方法的步骤。
第四方面,本发明的技术方案提供一种计算机可读存储介质,所述可读存储介质上存储有MySQL数据库主从同步监控管理程序,所述MySQL数据库主从同步监控管理程序被处理器执行时实现如上述任一项所述MySQL数据库主从同步监控管理方法的步骤。
本发明提供的一种MySQL数据库主从同步监控管理方法、系统、终端及存储介质,相对于现有技术,具有以下有益效果:创建集成高级命令行工具集合的脚本,执行脚本实现数据库主从同步的自动监控,实现同步数据的一致性和延迟状态多个指标的监控,在数据不一致时自动完成数据修复同步。在系统日常运行过程中,将脚本进行加入任务调度,周期性执行数据一致性检测工具、数据同步修复工具保证主从复制的一致性,当系统宕机或者切换备库成为主库、或者灾备演练切换等场景的时候,可以保证数据的一致性和数据的安全性。在日常管理维护过程中,延迟监测工具可以自动监控复制的延迟信息,当出现延迟,自动发送告警信息,节省了数据库管理员的巡查时间,提高运维效率。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种MySQL数据库主从同步监控管理方法流程示意图。
图2是本发明实施例提供的一种MySQL数据库主从同步监控管理系统结构示意框图。
图3是本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
下面对本发明中出现的关键术语进行解释。
主从同步:使数据从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave)。
percona-toolkit:一组高级命令行工具的集合。
pt-table-checksum:一个命令工具,用于检测主从的数据一致性。
pt-table-sync:一个命令工具,用于数据同步。
pt-heartbeat:一个命令工具,用于监测主从延迟的情况。
crontab:Linux 系统为使用者提供控制计划任务的命令。
图1是本发明实施例提供的一种MySQL数据库主从同步监控管理方法流程示意图。其中,图1执行主体可以为一种MySQL数据库主从同步监控管理系统。本发明实施例提供的MySQL数据库主从同步监控管理方法由计算机设备执行,相应地,MySQL数据库主从同步监控管理系统运行于计算机设备中。根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
如图1所示,该方法包括以下步骤。
S1,创建同步监控管理脚本,在同步监控管理脚本中集成高级命令行工具集合。
其中,高级命令行工具percona-toolkit包括数据一致性检测工具pt-table-checksum、数据同步修复工具pt-table-sync和延迟监测工具pt-heartbeat。
S2,在主数据库和从数据库执行数据同步期间,按照计划任务周期性执行同步监控管理脚本,通过数据一致性检测工具检测主从同步数据是否一致,在数据不一致时通过数据同步修复工具完成数据修复,并通过延迟监测工具实现主从数据延迟状态检查,延迟状态异常时发出告警。
本实施例通过数据一致性检测工具pt-table-checksum、数据同步修复工具pt-table-sync自动检查主从数据的一致性,并完成数据修复同步,在系统日常运行过程中,将脚本进行加入任务调度,每分钟执行一次,就可以保证主从复制的一致性,当系统宕机或者切换备库成为主库、或者灾备演练切换等场景的时候,可以保证数据的一致性。在日常管理维护过程中,通过延迟监测工具pt-heartbeat自动监控复制的延迟信息,当出现延迟,自动发送告警信息,节省了数据库管理员的巡查时间,提高运维效率。
具体实施时,首先搭建主从复制环境,然后利用shell脚本集成percona-toolkit工具对主从复制进行监控。
主从复制是指将主库的 DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持一致。
关于搭建主从复制环境,首先对主数据库进行配置,配置启用二进制日志文件,修改my.cnf配置文件,添加二进制日志开启信息和主数据库所在服务器ID,之后重启主数据库。之后对从数据库进行配置,配置启用二进制日志文件,修改my.cnf配置文件,之后重启从数据库,配置访问主数据库的参数信息,参数信息包括添加主节点(即主数据库所在服务器)ID、访问主节点的用户名和密码、主节点二进制文件信息,示例性的:
mysql>change master to master_host='ip', master_user='用户名',master_password='密码', master_log_file='主节点log-bin名称', master_log_pos=主节点log-bin 大小。
其中,主节点log-bin名称和主节点log-bin 大小用show master logs查看。
启动主从复制,通过打印结果可以看到Slave_IO_Running:yes , Slave_SQL_Running:yes ,这两个指标都是yes,说明主从同步已经在运行。
本实施例中,percona-toolkit工具用于监控主从复制的主要有三个,pt-table-checksum、pt-table-syn、pt-heartbeat,通过shell脚本集成工具集,配合contab定时调度,实现对主从复制的自动化监控、管理运维。
(1)监测MySQL主从数据一致性
本实施例中,通过数据一致性检测工具pt-table-checksum检测主从同步数据是否一致,示例性的,主从一致性及数据修复自动监测脚本 pt_checksum_sync_monit.sh,该脚本集成pt-table-checksum和pt-table-sync工具,主要实现主从数据检查,当检测数据不一致,强制修复数据。
本实施例中,通过数据一致性检测工具pt-table-checksum检测主从同步数据是否一致,具体包括以下步骤。
步骤1,在主数据库执行基于statement的sql语句生成主数据库数据块的校验和(checksum)。
步骤2,将相同的sql语句传递到从数据库进行执行,并在从数据库上计算相同数据块的校验和(checksum)。
步骤3,比较主数据库和从数据库中相同数据库的校验和(checksum)是否相同。
步骤4,若相同,则主从同步数据一致,否则主从同步数据不一致。
在生成主数据库的校验和之前,根据唯一索引将表按照行切分为若干数据块(chunk),以数据块为单位计算,可以避免锁表。
本实施例中,检测时会自动判断复制延迟、 master的负载, 超过阀值后会自动将检测暂停,减小对线上服务的影响。具体地,检测主从数据复制延迟是否超过延迟阈值,以及主数据库的负载是否超过负载阈值;若主从数据复制延迟超过延迟阈值和/或主数据库的负载超过负载阈值,则停止主从同步数据一致性的检测。
pt-table-checksum 默认情况下可以应对绝大部分场景,必要时,pt-table-checksum 会根据服务器负载动态改变数据块(chunk)大小,减少从库的延迟。
(2)主从数据不一致时修复数据
本实施例中,通过数据同步修复工具pt-table-sync完成数据修复。pt-table-sync用于高效的同步MySQL表之间的数据,它可以做单向和双向同步的表数据。可以同步单个表,也可以同步整个库。它不同步表结构、索引、或任何其他模式对象。所以在修复一致性之前需要保证他们的表存在。
在数据不一致时完成数据修复,具体包括:针对当前数据不一致的数据块,依次检测数据块中各行数据在主数据库和从数据库中是否一致;若不一致,则在主数据库执行replace into语句生成当前行全量的逻辑日志binlog;将生成的逻辑日志binlog传送到从数据库,在从数据库中重新执行逻辑日志binlog。
示例性的,配置crontab,每五分钟执行一次脚本 pt_checksum_sync_monit.sh,执行结果打印,检查打印结果,DIFFS为0,说明数据都一致,DIFFS为1,说明数据不一致。数据修复打印结果,会有replace into table 语句生成。
(3)监控MySQL主从同步延迟
本实施例中,通过延迟监测工具pt-heartbeat实现主从数据延迟状态检查。示例性的,编写主从同步延迟监控及发送告警脚本 pt_heartbeat_monit.sh,该脚本集成pt-heartbeat工具,主要实现自动主从数据延迟状态检查,当延迟发生,定期过滤--log文件中最大值(此脚本运行的前提:启动更新主库heartbeat命令以及带上--log的同步延迟检测命令),如果发生延迟,发送报警邮件。
本实施例中,pt-heartbeat工具通过时间戳方式在主库上更新特定表,然后在从库上读取被更新的时间戳然后与本地系统时间对比来得出其延迟,具体包括以下步骤。
步骤1,在主数据库中创建一个心跳表,心跳表中包含一个时间戳字段。
步骤2,周期性修改心跳表中的时间戳字段。
步骤3,从数据库复制心跳表,提取所复制心跳表中时间戳字段的时间。
步骤4,将所提取时间与本地时间进行对比获得时间差值。
步骤5,判断所获得时间差值是否符合预期。
步骤6,若是,则未发生延迟且复制状态正常,否则发生延迟且复制状态异常。
本实施例在master 中建一个 heartbeat表,其中有一个时间戳字段,pt-heartbeat 会周期性的修改时间戳的值。slave会复制 heartbeat表,其中就包含了master执行修改动作的时间戳,对其和 slave 的本地时间进行对比,得到一个差值,就是复制延迟的值,从而判断复制状态是否正常,以及延迟时间是否符合预期,通过主从同步延迟监控脚本,定期过滤--log文件中最大值,如果发生延迟,发送报警邮件。
示例性的,启动更新主库heartbeat命令以及带上--log的同步延迟检测命令,执行监控脚本pt_heartbeat_monit.sh,配置crontab,每隔一分钟检查一次,打印结果。
上文中对于一种MySQL数据库主从同步监控管理方法的实施例进行了详细描述,基于上述实施例描述的MySQL数据库主从同步监控管理方法,本发明实施例还提供了一种与该方法对应的MySQL数据库主从同步监控管理系统。
图2是本发明实施例提供的一种MySQL数据库主从同步监控管理系统结构示意框图,本实施例中,MySQL数据库主从同步监控管理系统200根据其所执行的功能,可以被划分为多个功能模块,如图2所示。所述功能模块可以包括:脚本创建模块210、同步监控管理模块220。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。
脚本创建模块210:创建同步监控管理脚本,在同步监控管理脚本中集成高级命令行工具集合;其中高级命令行工具包括数据一致性检测工具、数据同步修复工具和延迟监测工具。
同步监控管理模块220:在主数据库和从数据库执行数据同步期间,按照计划任务周期性执行同步监控管理脚本,通过数据一致性检测工具检测主从同步数据是否一致,在数据不一致时通过数据同步修复工具完成数据修复,并通过延迟监测工具实现主从数据延迟状态检查,延迟状态异常时发出告警。
本实施例的MySQL数据库主从同步监控管理系统用于实现前述的MySQL数据库主从同步监控管理方法,因此该系统中的具体实施方式可见前文中的MySQL数据库主从同步监控管理方法的实施例部分,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的MySQL数据库主从同步监控管理系统用于实现前述的MySQL数据库主从同步监控管理方法,因此其作用与上述方法的作用相对应,这里不再赘述。
图3为本发明实施例提供的一种终端300的结构示意图,包括:处理器310、存储器320及通信单元330。所述处理器310用于实现存储器320中保存的MySQL数据库主从同步监控管理程序时实现以下步骤:
创建同步监控管理脚本,在同步监控管理脚本中集成高级命令行工具集合;其中高级命令行工具包括数据一致性检测工具、数据同步修复工具和延迟监测工具;
在主数据库和从数据库执行数据同步期间,按照计划任务周期性执行同步监控管理脚本,通过数据一致性检测工具检测主从同步数据是否一致,在数据不一致时通过数据同步修复工具完成数据修复,并通过延迟监测工具实现主从数据延迟状态检查,延迟状态异常时发出告警。
该终端300包括处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC) 组成,例如可以由单颗封装的IC 所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,这里所说的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random accessmemory,简称:RAM)等。
计算机存储介质存储有MySQL数据库主从同步监控管理程序,所述MySQL数据库主从同步监控管理程序被处理器执行时实现以下步骤:
创建同步监控管理脚本,在同步监控管理脚本中集成高级命令行工具集合;其中高级命令行工具包括数据一致性检测工具、数据同步修复工具和延迟监测工具;
在主数据库和从数据库执行数据同步期间,按照计划任务周期性执行同步监控管理脚本,通过数据一致性检测工具检测主从同步数据是否一致,在数据不一致时通过数据同步修复工具完成数据修复,并通过延迟监测工具实现主从数据延迟状态检查,延迟状态异常时发出告警。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
Claims (10)
1.一种MySQL数据库主从同步监控管理方法,其特征在于,包括以下步骤:
创建同步监控管理脚本,在同步监控管理脚本中集成高级命令行工具集合;其中高级命令行工具包括数据一致性检测工具、数据同步修复工具和延迟监测工具;
在主数据库和从数据库执行数据同步期间,按照计划任务周期性执行同步监控管理脚本,通过数据一致性检测工具检测主从同步数据是否一致,在数据不一致时通过数据同步修复工具完成数据修复,并通过延迟监测工具实现主从数据延迟状态检查,延迟状态异常时发出告警。
2.根据权利要求1所述的MySQL数据库主从同步监控管理方法,其特征在于,通过数据一致性检测工具检测主从同步数据是否一致,具体包括:
在主数据库执行基于statement的sql语句生成主数据库数据块的校验和;
将相同的sql语句传递到从数据库进行执行,并在从数据库上计算相同数据块的校验和;
比较主数据库和从数据库中相同数据库的校验和是否相同;
若相同,则主从同步数据一致,否则主从同步数据不一致。
3.根据权利要求2所述的MySQL数据库主从同步监控管理方法,其特征在于,在主数据库执行基于statement的sql语句生成主数据库数据块的校验和之前,还包括以下步骤:
根据唯一索引将表按照行切分为若干数据块。
4.根据权利要求3所述的MySQL数据库主从同步监控管理方法,其特征在于,通过数据一致性检测工具检测主从同步数据是否一致,具体还包括:
检测主从数据复制延迟是否超过延迟阈值,以及主数据库的负载是否超过负载阈值;
若主从数据复制延迟超过延迟阈值和/或主数据库的负载超过负载阈值,则停止主从同步数据一致性的检测。
5.根据权利要求4所述的MySQL数据库主从同步监控管理方法,其特征在于,在数据不一致时通过数据同步修复工具完成数据修复,具体包括:
针对当前数据不一致的数据块,依次检测数据块中各行数据在主数据库和从数据库中是否一致;
若不一致,则在主数据库执行replace into语句生成当前行全量的逻辑日志;
将生成的逻辑日志传送到从数据库,在从数据库中重新执行逻辑日志。
6.根据权利要求1-5任一项所述的MySQL数据库主从同步监控管理方法,其特征在于,通过延迟监测工具实现主从数据延迟状态检查,具体包括:
在主数据库中创建一个心跳表,心跳表中包含一个时间戳字段;
周期性修改心跳表中的时间戳字段;
从数据库复制心跳表,提取所复制心跳表中时间戳字段的时间;
将所提取时间与本地时间进行对比获得时间差值;
判断所获得时间差值是否符合预期;
若是,则未发生延迟且复制状态正常,否则发生延迟且复制状态异常。
7.根据权利要求6所述的MySQL数据库主从同步监控管理方法,其特征在于,延迟状态异常时发出告警,具体包括:
若发生延迟且复制状态异常,则发送报警邮件。
8.一种MySQL数据库主从同步监控管理系统,其特征在于,包括,
脚本创建模块:创建同步监控管理脚本,在同步监控管理脚本中集成高级命令行工具集合;其中高级命令行工具包括数据一致性检测工具、数据同步修复工具和延迟监测工具;
同步监控管理模块:在主数据库和从数据库执行数据同步期间,按照计划任务周期性执行同步监控管理脚本,通过数据一致性检测工具检测主从同步数据是否一致,在数据不一致时通过数据同步修复工具完成数据修复,并通过延迟监测工具实现主从数据延迟状态检查,延迟状态异常时发出告警。
9.一种终端,其特征在于,包括:
存储器,用于存储MySQL数据库主从同步监控管理程序;
处理器,用于执行所述MySQL数据库主从同步监控管理程序时实现如权利要求1-7任一项所述MySQL数据库主从同步监控管理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述可读存储介质上存储有MySQL数据库主从同步监控管理程序,所述MySQL数据库主从同步监控管理程序被处理器执行时实现如权利要求1-7任一项所述MySQL数据库主从同步监控管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410171068.XA CN117891694A (zh) | 2024-02-06 | 2024-02-06 | MySQL数据库主从同步监控管理方法、系统、终端及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410171068.XA CN117891694A (zh) | 2024-02-06 | 2024-02-06 | MySQL数据库主从同步监控管理方法、系统、终端及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117891694A true CN117891694A (zh) | 2024-04-16 |
Family
ID=90642795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410171068.XA Pending CN117891694A (zh) | 2024-02-06 | 2024-02-06 | MySQL数据库主从同步监控管理方法、系统、终端及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117891694A (zh) |
-
2024
- 2024-02-06 CN CN202410171068.XA patent/CN117891694A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107291787B (zh) | 主备数据库切换方法和装置 | |
CN103853837B (zh) | Oracle全自动不停生产数据库的表级备份恢复方法 | |
WO2021103499A1 (zh) | 一种基于多活数据中心的流量切换方法及装置 | |
US9513894B2 (en) | Database software upgrade using specify-validate-execute protocol | |
CN107480014B (zh) | 一种高可用设备切换方法及装置 | |
CN112506702B (zh) | 数据中心容灾方法、装置、设备及存储介质 | |
CN110263095B (zh) | 数据备份与恢复方法、装置、计算机设备及存储介质 | |
CN112477919B (zh) | 一种适用于列车控制系统平台的动态冗余备份方法及系统 | |
CN104036043A (zh) | 一种mysql高可用的方法及管理节点 | |
CN104765652B (zh) | 一种数据备份和数据恢复方法及装置 | |
EP3147789B1 (en) | Method for re-establishing standby database, and apparatus thereof | |
CN108647118B (zh) | 基于存储集群的副本异常恢复方法、装置及计算机设备 | |
CN113821376A (zh) | 一种基于云灾备的一体化备份容灾方法及系统 | |
CN106445746A (zh) | 一种面向应急接替的容灾备份方法及装置 | |
WO2018076696A1 (zh) | 一种数据同步方法及带外管理设备 | |
CN109104314B (zh) | 一种修改日志配置文件的方法及装置 | |
CN116185697B (zh) | 容器集群管理方法、装置、系统、电子设备及存储介质 | |
CN117891694A (zh) | MySQL数据库主从同步监控管理方法、系统、终端及介质 | |
CN111158956A (zh) | 一种集群系统的数据备份方法及相关装置 | |
CN111125060A (zh) | 一种数据库管理方法、系统、设备及存储介质 | |
US11782800B2 (en) | Methods to automatically correct and improve system recovery and replication processes | |
CN114443356A (zh) | 一种容器集群的处理方法及系统 | |
CN114036129A (zh) | 一种减小数据丢失的数据库切换方法 | |
CN113064755A (zh) | 数据恢复方法、装置、设备、介质及程序产品 | |
KR20100061983A (ko) | 실시간 복제 환경의 데이터베이스 운용 관리 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |