MySQL+Keepalived 高可用性实战

MySQL+Keepalived 高可用性实战,第1张

1、准备三台虚拟机,选择两台mysql作为keepalived(一台master 一台backup),一台做客户端访问用。

2、给两台mysql安装keepalived制作高可用生成VIP

我这里用的是mysqld

yum安装mysql

实施步骤:

一、mysql 主主同步 <略>

二、安装keepalived---两台机器都 *** 作

三添加库用于测试

四 在任意一台机器作为客户端

测试的时候记得检查mysql用户的可不可以远程登录。

实现了VIP的漂移,实现了mysql的高可用。

Asynchronous Replication Automatic failover

其原理是在一条异步复制通道上配置多个可用复制源,当某个复制源不可用时(宕机、复制链路中断),且 slave 的 IO 线程尝试重连无效,自动根据权重选择新的源继续同步。

准备一个 MGR 集群和单实例,模拟复制链路切换,当 primary 故障,slave 自动切换到其他节点。dbdeployer deploy replication --topology=group 8.0.22 --single-primarydbdeployer deploy single 8.0.22

2. 在从机上建立指向 MGR 主节点的复制通道,

change master to master_user='msandbox',master_password='msandbox', master_host='127.0.0.1',master_auto_position=1,source_connection_auto_failover=1,master_port=23223,master_retry_count=6,master_connect_retry=10 for channel 'mgr-single'

在 master_retry_count 和 master_connect_retry 的设置上要考虑尝试重连多久才切换复制源。

3. 在从机上配置 asynchronous connection auto failover

配置 asynchronous connection auto failover 的两个函数:

asynchronous_connection_failover_add_source(channel-name,host,port,network-namespace,weight)

asynchronous_connection_failover_delete_source(channel-name,host,port,network-namespace)

权重值大的被优先级选择,可以配合MGR的选举权重配置 asynchronous_connection_failover 的权重。当 MGR 节点切换,异步复制也能切换到新的主节点。

SELECT asynchronous_connection_failover_add_source('mgr-single','127.0.0.1',23223,null,100)SELECT asynchronous_connection_failover_add_source('mgr-single','127.0.0.1',23224,null,80)SELECT asynchronous_connection_failover_add_source('mgr-single','127.0.0.1',23225,null,50)start slave for channel 'mgr-single'

4. 检查异步复制通道是否启用 failover。

mysql>SELECT CHANNEL_NAME, SOURCE_CONNECTION_AUTO_FAILOVER FROM performance_schema.replication_connection_configuration+--------------+---------------------------------+| CHANNEL_NAME | SOURCE_CONNECTION_AUTO_FAILOVER |+--------------+---------------------------------+| mgr-single   |  1                              |+--------------+---------------------------------+1 row in set (0.01 sec

5. 把 MGR 的 primary 节点 kill 掉,这个从节点会在尝试几轮重连失败后自动切换到次权重的复制源,其日志中会输出切换信息。

注意:当主节点故障,一旦复制链路成功 failover 后,在新的复制链路没有故障时,如果原主节点恢复,是不会回切的。如果当前复制链路发生故障,会再次选择权重高的进行切换。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6130210.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存