一种基于ISER协议的MySQL数据库复制方法技术

技术编号:16529030 阅读:66 留言:0更新日期:2017-11-09 20:48
本发明专利技术公开了一种基于ISER协议的MySQL数据库复制方法,主机和备机之间通过主从复制技术进行容灾保护,同时使用ISER协议,将备机的磁盘映射给主机使用,主机将自身的binlog存放在备机映射磁盘上;如果主机发生故障,系统对比备机上主机传输binlog与位映射磁盘binlog进行位移对比,如果有偏差,则会重新执行磁盘映射上的多出部分的binlog。本发明专利技术能够确保当主机发生灾难后,备机数据和主机保持一致。为金融等对数据一致性有较高要求的领域,提供了一套MySQL高可用解决方案。

【技术实现步骤摘要】
一种基于ISER协议的MySQL数据库复制方法
本专利技术属于数据库技术,特别涉及一种MySQL数据库主从复制技术的改进方法。
技术介绍
目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。甚至在电信行业中,由于MySQL优越的性能、稳定性、完善的功能,也越来越多的被用于电信产品中。现有主流的MYSQL主从复制方案是通过将Mysql主节点数据操作记录复制到备节点(slaves),并重新执行数据操作记录来实现的。复制过程中主节点将数据操作记录写入二进制日志文件,并维护文件索引以跟踪日志循环,同时日志记录发往到从节点进行数据更新。现有复制方案的主要优点是:(1)搭建灵活,方便实现读写分离。(2)对主机几乎无性能影响。(3)维护相对简单。但也存在以下的主要缺点:主机和备机之间数据传输采用异步方式,如果主机发生灾难,存在着数据丢失的可能性。
技术实现思路
本专利技术的针对现有MySQL主从复制过程中,如果主机发生灾难(例如主机宕机),备机的数据可能会与主机不同步,从而造成数据丢失的缺陷,提供一种改进的可以实现数据零丢失的MySQL数据库复制方法。为了实现上述目的,本专利技术采用以下技术方案:一种基于ISER协议的MySQL数据库复制方法,主机和备机之间通过主从复制技术进行容灾保护,同时使用ISER协议,将备机的磁盘映射给主机使用,主机将自身的binlog存放在备机映射磁盘上;如果主机发生故障,系统对比备机上主机传输binlog与位映射磁盘binlog进行位移对比,如果有偏差,则会重新执行磁盘映射上的多出部分的binlog。进一步地,主机和备机之间传输采用InfiniBand技术。进一步地,所述方法包括以下步骤:(1)在两台电脑上分别安装MySQL数据库;(2)两台电脑间搭建主从复制;(3)在主机和备机的一块磁盘或分区上分别建立共享存储系统,主机启动iscsid服务,备机启动tgtd服务,并建立主机和备机之间的ISER协议连接,在主机上建立备机所述磁盘或分区的映射;(4)使用软raid技术使主机和备机所述磁盘或分区实现数据冗余,形成新的磁盘或分区;(5)将形成的新的磁盘或分区格式化后挂接到某个挂载点;(6)将主机MySQL的binlog补录设置为步骤5的挂载点;(7)将主机MySQL的sync_binlog设为1、同时innodb_flush_log_at_trx_commit设为1。进一步地,所述步骤2的主从复制,具体步骤为:(1)登录主机服务器的mysql,查询master的状态;(2)配置备机服务器slave,设为master_host主机,端口为主机服务端口,用户名密码配置为主机具有全库读写权限的用户及密码,binlog文件位置为步骤1的记录log文件位置;(3)启动服务器复制功能,并检查服务器复制功能状态直至主从服务器配置完成。本专利技术通过引入InfiniBand和ISER等技术,改进了MySQL的主从复制,在不影响原有性能的同时,可以实现数据零丢失。本专利技术的技术原理:主机和备机之间依然通过主流主从复制技术进行容灾保护,同时使用ISER协议,将备机的磁盘映射给主机使用。主机将自身的binlog存放在备机映射磁盘上(图1中红圈所示)。当主机发生故障时,系统会对比备机上主机传输binlog与位映射磁盘binlog进行位移对比,如果有偏差,则会重新执行磁盘映射上的多出部分的binlog,从而达到数据零丢失。为了达到如上涉及目标,本方案引入了以下两种技术:A、InfiniBand技术:这些年,随着InfiniBand网络技术的不断走向成熟,InfiniBand架构具有高吞吐低延时的特点,并且最近三年来InfiniBand网络稳定性大为加强。通过InfiniBand技术的引入,力图解决快速传输MYSQLbinlog的基础设施环境。B、ISER协议:有非常多种的协议支持命令和数据在网络上传输,本方法采用了近年来逐步完善的ISER协议,使用ISER协议和MySQL特有的支持binlog数据引擎相结合,达到特有数据同步复制的效果。本专利技术的主机宕机时,主机将自身的binlog存放在这块由备机映射磁盘上,当主机发生故障时,这块备机磁盘保留了全部的binlog,只要系统正确的应用这些binlog文件,就一定能够保证数据不丢失。本专利技术能够确保当主机发生灾难后,备机数据和主机保持一致。为金融等对数据一致性有较高要求的领域,提供了一套MySQL高可用解决方案。附图说明图1是本专利技术MySQL数据库复制方法示意图。图2是本专利技术MySQL数据库复制的流程图。图3是本专利技术主机发生灾难时的处理流程图。具体实施方式下面结合具体实施例和附图对本专利技术做进一步的说明。图1是MySQL数据库复制方法示意图。图2是MySQL数据库复制的流程图。图3是主机发生灾难时的处理流程图。硬件环境:(1)两台X86PC服务器通过普通以太网局域网相连接,(2)每台X86PC服务器至少两块以上的磁盘,(3)两台X86PC服务器之间通过一根InfiniBand相连接(每个PC服务器需要一块HCA卡)。实施步骤:步骤1、两台PC服务器正常安装MySQL数据库(过程略)。步骤2、先搭建主从复制。步骤2.1步骤登录主服务器的mysql,查询master的状态,并记录;步骤2.2配置从服务器slave,设为master_host主机,端口为主机服务端口,用户名密码配置为主机具有全库读写权限的用户及密码,binlog文件位置为步骤2.1的记录log文件位置;步骤2.3、启动服务器复制功能;步骤2.4、检查从服务器复制功能状态:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。以上操作过程,主从服务器配置完成。步骤3、备机安装部署步骤3.1准备一块磁盘(或者分区),假设为/dev/sdb;步骤3.2安装scsi-target-utils系统软件包;步骤3.3启动tgtd服务;步骤3.4定义一个id和iqn地址;步骤3.5编辑配置文件设置相关参数定义制定使用iser协议将主机设备信任,对外export上述/dev/sdb;步骤3.6重启服务让配置文件生效。步骤4、主机安装部署步骤4.1安装iscsi-initiator-utils软件包;步骤4.2启动iscsid服务;步骤4.3发现指定备机的映射磁盘,并制定使用iser协议连接;步骤4.4使用上面定义的iqn登录这个磁盘设备;步骤4.5使用查看备机映射过来的这块磁盘;步骤使用fdisk-l应该多出一块磁盘假设为/dev/sdc;步骤5使用软raid技术,在主机端用本地的/dev/sdb和上面新生成的/dev/sdc做成raid1,形成新的磁盘,假设名称为/dev/dm126;步骤6、将/dev/dm126格式化成某种文件系统,比如xfs或者ext4。步骤7、将/dev/dm126mount到某个挂载点。步骤8、将主机MySQL的binlog补录设置为步骤7的挂载点。步骤9、将主机MySQL的sync_binlog设为1、同时in本文档来自技高网...
一种基于ISER协议的MySQL数据库复制方法

【技术保护点】
一种基于ISER协议的MySQL数据库复制方法,其特征在于:主机和备机之间通过主从复制技术进行容灾保护,同时使用ISER协议,将备机的磁盘映射给主机使用,主机将自身的binlog存放在备机映射磁盘上;如果主机发生故障,系统对比备机上主机传输binlog与位映射磁盘binlog进行位移对比,如果有偏差,则会重新执行磁盘映射上的多出部分的binlog。

【技术特征摘要】
1.一种基于ISER协议的MySQL数据库复制方法,其特征在于:主机和备机之间通过主从复制技术进行容灾保护,同时使用ISER协议,将备机的磁盘映射给主机使用,主机将自身的binlog存放在备机映射磁盘上;如果主机发生故障,系统对比备机上主机传输binlog与位映射磁盘binlog进行位移对比,如果有偏差,则会重新执行磁盘映射上的多出部分的binlog。2.根据权利要求1所述的数据库复制方法,其特征在于:所述主机和备机之间传输采用InfiniBand技术。3.根据权利要求1或2所述的数据库复制方法,其特征在于:所述方法包括以下步骤:(1)在两台电脑上分别安装MySQL数据库;(2)两台电脑间搭建主从复制;(3)在主机和备机的一块磁盘或分区上分别建立共享存储系统,主机启动iscsid服务,备机启动tgtd服务,并建立主机和备机之间的ISER协议连接,在主...

【专利技术属性】
技术研发人员:管文琦王成瑞樊建王玲
申请(专利权)人:华泰证券股份有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1