加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql MHA布局-04MHA配置

发布时间:2022-03-28 14:45:44 所属栏目:MySql教程 来源:互联网
导读:Mysql MHA部署-04MHA配置 一:MySQL MHA部署前准备 1.1 hosts文件 首先我们在四台服务器上添加其他服务器的hosts信息 [root@rac1 mha]# vim /etc/hosts 192.168.2.222 rac4 192.168.2.187 rac1 192.168.2.188 rac2 192.168.2.223 rac3 1.2 配置免密码登录
       Mysql MHA部署-04MHA配置
 
     一:MySQL MHA部署前准备
 
1.1 hosts文件
 
     首先我们在四台服务器上添加其他服务器的hosts信息
 
[root@rac1 mha]# vim /etc/hosts
 
192.168.2.222 rac4
 
192.168.2.187 rac1
 
192.168.2.188 rac2
 
192.168.2.223 rac3
 
1.2 配置免密码登录
 
     接下来我们需要配置各服务请求间的免密码登录
 
ssh-kengen 命令后请一路下一步
 
---192.168.2.187 rac1
 
ssh-keygen -t rsa
 
ssh-copy-id 192.168.2.188
 
ssh-copy-id 192.168.2.223
 
ssh-copy-id 192.168.2.222
 
ssh-copy-id rac2
 
ssh-copy-id rac3
 
ssh-copy-id rac4
 
---192.168.2.188 rac2
 
ssh-keygen -t rsa
 
ssh-copy-id 192.168.2.187
 
ssh-copy-id 192.168.2.223
 
ssh-copy-id 192.168.2.222
 
ssh-copy-id rac1
 
ssh-copy-id rac3
 
ssh-copy-id rac4
 
---192.168.2.223 rac3
 
ssh-keygen -t rsa
 
ssh-copy-id 192.168.2.187
 
ssh-copy-id 192.168.2.188
 
ssh-copy-id 192.168.2.222
 
ssh-copy-id rac1
 
ssh-copy-id rac2
 
ssh-copy-id rac4
 
---192.168.2.222 rac4
 
ssh-keygen -t rsa
 
ssh-copy-id 192.168.2.187
 
ssh-copy-id 192.168.2.188
 
ssh-copy-id 192.168.2.223
 
ssh-copy-id rac1
 
ssh-copy-id rac2
 
ssh-copy-id rac3
 
1.3 创建监控账户
 
接下来我们创建用于MHA监控的数据库账户
 
主库 187:
 
master数据库
 
mysql> grant all privileges on *.* to 'monitor'@'192.168.2.187' identified by '123456';
 
mysql> grant all privileges on *.* to 'monitor'@'192.168.2.188' identified by '123456';
 
mysql> grant all privileges on *.* to 'monitor'@'192.168.2.222' identified by '123456';
 
mysql> grant all privileges on *.* to 'monitor'@'192.168.2.223' identified by '123456';
 
mysql> grant all privileges on *.* to 'monitor'@'127.0.0.1' identified by '123456';
  
1.4 关闭防火墙
 
     如果防火墙开始,需要开通服务器间3306端口的通信
 
1.5 关闭relay日志自动清理
 
      由于默认情况下从库的relay logs会在SQL线程执行完毕后被自动删除,但是对于MHA场景下,对于某些滞后从库的恢复依赖于其他从库的relay log,因此采取禁用自动删除功能以及定期清理的办法
 
使用purge_relay_logs脚本这个后面说明
 
主从库3台
 
relay_log_purge=0
 
1.6 从库开启只读
 
从库需要设置只读模式
 
2台从库
 
read_only=1
 
1.7 master节点绑定VIP
 
刚开始需要手动将VIP绑定至master节点
 
[root@rac1 mysql]# ifconfig |grep 192
 
        inet 192.168.2.187  netmask 255.255.255.0  broadcast 192.168.2.255
 
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
 
[root@rac1 mysql]# /sbin/ifconfig enp0s3:2 192.168.2.189  netmask 255.255.255.0 up
 
[root@rac1 mysql]# ifconfig |grep 192
 
        inet 192.168.2.187  netmask 255.255.255.0  broadcast 192.168.2.255
 
        inet 192.168.2.189  netmask 255.255.255.0  broadcast 192.168.2.255
 
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
 
1.8 准备自定义脚本
 
这里我们通过网盘下载,放到/etc/mha/script下面并赋予可执行权限
 
链接: https://pan.baidu.com/s/18H12bTIYHi2H0dXs2DI7NA 提取码: mwkq
 
管理节点:192.168.2.222 RAC4
 
[root@rac4 ~]# mkdir /etc/mha/script -p            
 
[root@rac4 ~]# cp /package/mysql/MHA/script/* /etc/mha/script/
 
[root@rac4 ~]# ll -rth /etc/mha/script/
 
total 24K
 
-rw-r--r-- 1 root root 2.4K Mar 14 19:56 send_report
 
-rw-r--r-- 1 root root  11K Mar 14 19:56 master_ip_online_change
 
-rw-r--r-- 1 root root 4.3K Mar 14 19:56 master_ip_failover
 
二 MySQL MHA部署指南
 
 管理节点配置
 
[root@rac4 script]# vim /etc/mha/mha.conf
 
[server default]
 
# mysql user and password
 
user=monitor
 
password=123456
 
ssh_user=root
 
# working directory on the manager
 
manager_workdir=/etc/mha/manager
 
manager_log=/etc/mha/manager/mha.log
 
ping_interval=1
 
# working directory on MySQL servers
 
remote_workdir=/etc/mha/node
 
# replication user
 
repl_user=repl
 
repl_password=rpl
 
master_binlog_dir=/datalog/mysql/binlog
 
## customized script
 
master_ip_failover_script=/etc/mha/script/master_ip_failover
 
master_ip_online_change_script=/etc/mha/script/master_ip_online_change
 
secondary_check_script=/usr/bin/masterha_secondary_check -s 192.168.2.188  -s 192.168.2.223 --user=root  --master_host=192.168.2.187 --master_ip=192.168.2.187  --master_port=3306
 
[server1]
 
hostname=rac1
 
candidate_master=1
 
[server2]
 
hostname=rac2
 
candidate_master=1
 
[server3]
 
hostname=rac3
 
no_master=1
 
接下来我们来解释每个参数的意义:
 
manager_workdir 管理节点工作目录,mha运行时会有状态文件生成
 
masnager_log 管理节点生成的日志
 
ping_interval 管理节点检测主库状态的间隔,默认为3s
 
remote_workdir MHA node工作目录,不存在会自动建立,如果不允许创建,MHA Node自动异常退出
 
master_binlog_dir 指定主库的二进制日志位置,防止管理节点无法连接主库获取日志位置
 
master_ip_failover_script 发生切换时VIP漂移脚本
 
master_ip_online_change_script 用于手动切换时VIP的漂移
 
secondary_check_script 若管理节点无法连接主库,则调用该脚本从从库检测主库状态
 
candidate_master 指定如果主库发生故障,优先提升该节点为主库
 
no_master 指定该节点不会成为主库

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读