一种MySQL数据库域名自动切换方法技术

技术编号:27530647 阅读:30 留言:0更新日期:2021-03-03 11:07
本发明专利技术一种MySQL数据库域名自动切换方法,包括:A.在DNS server上,对每一个数据库主从集群定义主/从两个数据库域名;B.对每一个数据库域名定义一个pool,每个pool下挂对应该数据库集群的节点IP;C.DNS server周期性地使用数据库集群的节点IP地址与数据库集群的节点建立数据库连接,使用命令查看当前连接数据库的“read only”的状态D.DNS server实时根据数据库节点的“read only”状态,提供对应主/从数据库域名解析的IP地址。本发明专利技术在数据库发生主从切换时,应用端无需做配置文件修改,也无需人工修改数据库域名对应的A/AAAA记录。切换后,应用建立新的数据库连接时通过主库域名/从库域名就能直接获取到对应的数据库节点IP,从而连接至正确的数据库节点。从而连接至正确的数据库节点。从而连接至正确的数据库节点。

【技术实现步骤摘要】
一种MySQL数据库域名自动切换方法


[0001]本专利技术涉及数据库
,尤其涉及一种MySQL数据库域名自动切换方法。

技术介绍

[0002]数据库(database)是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效地组织和管理存储在数据库中的数据。MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库,MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库。
[0003]域名(Domain Name),是由一串用点分隔的字符组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置,有行政自主权的一个地方区域)。域名是一个IP地址上的“面具”。一个域名的目的是便于记忆和沟通的一组服务器的地址(网站、电子邮件、FTP等)。
[0004]MySQL数据库主从切换后,应用需要修改配置文件中的数据库域名,将原有的主库域名修改为从库域名;或者由网络管理员修改DNS server中数据库域名对应的A/AAAA记录,将旧数据库解析至新的数据库IP节点上。

技术实现思路

[0005]为解决上述问题,本专利技术提供一种MySQL数据库域名自动切换方法,包括:
[0006]A.在DNS server上,对每一个数据库主从集群定义两个数据库域名,分别为主库域名和从库域名;
[0007]B.对每一个数据库域名定义一个pool,每个pool下挂对应该数据库集群的节点IP;
[0008]C.DNS server周期性地使用数据库集群的IP地址与数据库集群的节点建立数据库连接,使用命令查看当前连接数据库的“read only”的状态
[0009]D.DNS server实时根据数据库节点的“read only”状态,提供对应数据库域名解析的IP地址。
[0010]进一步的,步骤D包括:
[0011]数据库主从状态发生改变后,其主库和从库的“read only”状态也会同步发生改变,在DNS server周期性连接数据库时发现其“read only”状态发生改变后,会立即更新相应域名的解析IP地址;
[0012]对于主库域名,主库域名对应的是“read only”状态为“OFF”的节点IP,因为有且只有一个节点属于主库,所以主库域名只有一个解析IP地址;
[0013]对于从库域名,从库域名对应的是“read only”状态为“ON”的节点IP,因为可能有多个节点属于从库,所以从库域名可以有多个解析IP地址。
[0014]本专利技术由DNS server通过周期性的连接数据,获取其当前的“read_only”状态,并根据“read_only”的实时状态,对其他想要访问client提供实时的数据库域名解析服务。
[0015]本专利技术在数据库发生主从切换时,应用端无需做配置文件修改,也无需人工修改数据库域名对应的A/AAAA记录。切换后,应用建立新的数据库连接时通过主库域名/从库域名就能直接获取到对应的数据库节点IP,从而连接至正确的数据库节点。
附图说明
[0016]如图1所示为本专利技术一种MySQL数据库域名自动切换方法的流程图。
具体实施方式
[0017]以下结合实施例的具体实施方式,对本专利技术的上述内容再作进一步的详细说明。但不应将此理解为本专利技术上述主题的范围仅限于以下的实例。在不脱离本专利技术上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本专利技术的范围内。
[0018]如图1所示,一种MySQL数据库域名自动切换方法,包括:
[0019]1.对单个数据库定义数据库主/从库域名
[0020]在DNS server上,对每一个数据库主从集群定义两个数据库域名,分别为主库域名和从库域名,其中主库域名有读写权限,以mym开头;从库域名是只读权限,以mys开头。
[0021]2.每个数据库主/从域名定义一个Pool
[0022]对每一个数据库域名定义一个pool,每个pool下挂对应数据库集群的IP节点。
[0023]3.周期性检查read only状态
[0024]DNS server周期性地使用数据库集群的IP地址与数据库集群的节点建立数据库连接,使用命令SHOW VARIABLES LIKE

%read_only%

查看当前连接数据库的“read_only”状态;根据read only状态判断数据库当前的主从状态,最终会影响主库域名或者从库域名的解析结果。
[0025]4.根据read only状态提供IP地址
[0026]DNS server实时根据数据库节点的“read only”状态,提供对应数据库域名解析的IP地址,数据库主从状态发生改变后,其主库和从库的“read only”状态也会同步发生改变,在DNS server周期性连接数据库时发现其“read only”状态发生改变后,会立即更新相应域名的解析IP地址;
[0027]对于主库域名,主库域名对应的是“read only”状态为“OFF”的节点IP,因为有且只有一个节点属于主库,所以主库域名只有一个解析IP地址;
[0028]对于从库域名,从库域名对应的是“read only”状态为“ON”的节点IP,因为可能有多个节点属于从库,所以从库域名可以有多个解析IP地址。
[0029]实施例1.
[0030]步骤1:在DNS server上,对每一个数据库主从集群定义两个数据库域名,分别为主库域名(有读写权限,以mym开头)、从库域名(只读权限,以mys开头),如表1所示:
[0031]表1:
[0032][0033]步骤2:对每一个数据库域名定义为一个Pool,每个Pool下挂对应数据库集群的IP节点,如表2所示:
[0034]表2:
[0035][0036]步骤3:DNS server周期性地使用数据库集群的IP地址与数据库集群的节点建立数据库连接,使用命令SHOW VARIABLES LIKE

%read_only%

查看当前连接数据库的“read_only”状态,如表3所示:
[0037]表3:
[0038][0039][0040]步骤4:DNS server实时根据数据库节点的“read_only”状态,使用A记录,提供对应数据库域名解析的IP地址;在数据库主从状态发生改变后,其主/从库的“read_only”状态也会同步发生改变。在DNS server周期性连接数据库,发现其“read_only”状态发生改变后,会立即修改对应域名的A记录,更新对应域名的解析IP地址。如表4所示为切换前的解析IP地址;表5为切换后的解析IP地址。
[0041]表4:
[0042][0043]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种MySQL数据库域名自动切换方法,其特征在于,包括:A.在DNS server上,对每一个数据库主从集群定义两个数据库域名,分别为主库域名和从库域名;B.对每一个数据库域名定义一个pool,每个pool下挂对应该数据库集群的节点IP;C.DNS server周期性地使用数据库集群的IP地址与数据库集群的节点建立数据库连接,使用命令查看当前连接数据库的“read only”的状态D.DNS server实时根据数据库节点的“read only”状态,提供对应数据库域名解析的IP地址。2.如权利要求1所述的一种MySQL数据库域名...

【专利技术属性】
技术研发人员:吴博谢明阳龙鸿飞李林峰
申请(专利权)人:四川新网银行股份有限公司
类型:发明
国别省市:

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

1