微信小程序本地存储与登录页面处理实例详细讲解
974
2022-08-25
mysql主主复制+keepalived高可用
背景
在给客户搭建主从复制的时候客户要求故障能自动切换,就搜了一下相关的方案,Mysql主主复制+keepalived高可用,以下是搭建过程
1、mysql节点1作为主节点,节点2作为从节点的配置
1.1 在节点1创建主从复制用户及授权
mysql> CREATE USER 'repl'@'%' IDENTIFIED WITH 'mysql_native_password' BY ' WLW05WuVlm'; mysql> grant replication slave on *.* to 'rep'@'%'; mysql>flush privileges;
1.2 查看节点1的日志位置
mysql>show master status \G;
1.3 节点二配置主从复制
mysql>CHANGE MASTER TO MASTER_HOST='10.73.96.163',MASTER_USER='repl',MASTER_PASSWORD='WLW05WuVlm',MASTER_LOG_FILE='binlog.000015',MASTER_LOG_POS=6954335; mysql>start slave;
1.4 查看主从复制状态
mysql>show slave status\G;
2、mysql节点1作为从节点节点2作为主节点配置
2.1 在节点2创建复制用户并授权
mysql> CREATE USER 'repl'@'%' IDENTIFIED WITH 'mysql_native_password' BY ' WLW05WuVlm'; mysql> grant replication slave on *.* to 'rep'@'%'; mysql>flush privileges;
2.2 查看节点2日志位置
mysql>show master status \G;
2.3 在节点1作主从复制配置
mysql>CHANGE MASTER TO MASTER_HOST='10.73.96.164',MASTER_USER='repl',MASTER_PASSWORD='WLW05WuVlm',MASTER_LOG_FILE='binlog.000037',MASTER_LOG_POS= 32421495; mysql>start slave;
2.4 验证主从是否同步
在节点1上
mysql>show slave status\G;
可以看到已经同步。
3、安装keepalived服务
yum install -y keepalvied
3.1 2个节点配置keepalived
编辑keepalived.conf配置文件,两个节点上的配置都差不多,只是router_id,priority的值不一样,还有unicast_src_ip和unicast_peer值不一样需要对调。
vi /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { router_id mya #路由id,不能重复 } vrrp_script check_port { script "/etc/keepalived/check_port.sh" interval 2 weight -100 } vrrp_instance lvs_inst { #定义vrrp实例名 state MASTER #定义vrrp角色,分为MASTER/BACKUP两种 interface ens192 #指定网络接口名 virtual_router_id 50 #同一组的vrrp成员,该id需要一致 priority 100 #优先级,范围(0-255) #nopreempt #不抢占(只针对BACKUP生效) advert_int 1 #发送hello的时间间隔 authentication { #通过密码身份验证 auth_type PASS auth_pass dWeGNyUv } unicast_src_ip 10.73.96.163 unicast_peer { 10.73.96.164 } virtual_ipaddress { #定义虚拟IP(VIP) 10.73.96.175 } track_script { check_port } }
编辑端口检测脚本,因为keepalived的原理是通过执行端口检测脚本上面的返回值来进行相应的关闭keepalived应用以将流量转发到对应的正常的后端端口上
vi /etc/keepalived/check_port.sh #!/bin/bash NUM=`ss -lnp|egrep ":3306" |wc -l` if [ $NUM -lt 2 ] then systemctl stop keepalived fi
分别启动keepalived
systemctl enable keepalibed systemctl start keepaliived
3.2 查看是否成功
PS
特别说明,作主主高可用的时候需要在Mysql配置文件配置自增长序列号为不同id,否则会有数据重复问题,主要配置如下:
vi /etc/mysql/my-f
增加
auto-increment-increment = 2 auto-increment-offset = 1 # 将另外一个节点的数值改为2
参考链接 https://blog.csdn-/brid_fly/article/details/121858233
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~