MHA非root用户搭建测试(2)

7.2编辑MHA的配置文件,以及建立对应的工作目录,并将这些目录的属主属组更改为MySQL。如果不做更改SSH/同步检查不会报错,但使用其他命令和切换会报权限错误,建议更改属主属组便于后续的维护配置。

[root@172-16-3-189 ~] mkdir ‐p /etc/masterha

[root@172-16-3-189 masterha]# mkdir -p /var/log/masterha/app_3306

[root@172-16-3-189 masterha]# mkdir /opt/shells/masterha

[root@172-16-3-189 we_ops_admin]# chown -R mysql:mysql /var/log/masterha/

[root@172-16-3-189 masterha]# chown -R mysql:mysql /etc/masterha/
                   [root@172-16-3-189 masterha]# chown -R mysql:mysql /opt/shells/masterha/

[root@172-16-3-189 masterha]# cat /etc/masterha/app_3306.cnf   #编辑MHA的配置文件

[root@172-16-3-189 masterha]# cat app_3306.cnf

[server default]

# mysql user and password

user=mha_monitor

password=mha_monitor

repl_user=repl

repl_password=repl

ssh_user=mysql

ssh_port=22222

# working directory on the manager

manager_workdir=/var/log/masterha/app_3306

# working directory on MySQL servers

remote_workdir=/var/log/masterha/app_3306

ping_interval=1

master_ip_failover_script=/opt/shells/masterha/master_ip_failover_3306

master_ip_online_change_script=/opt/shells/masterha/master_ip_online_change_script_3306

[server1]

hostname=172.16.3.190

port=3306

master_binlog_dir=/opt/app/mysql_3306/data

[server2]

hostname=172.16.3.189

port=3306

master_binlog_dir=/opt/app/mysql_3306/data

7.3编辑自动漂移和手动漂移的脚本文件并授予可执行权限,以及VIP漂移处给予sudo的权限,这里将用户设置为可sudo,是给予摘除和添加VIP的权限

[root@172-16-3-189 we_ops_admin]# chmod +x /opt/shells/masterha/master_ip_failover_3306

[root@172-16-3-189 we_ops_admin]# chmod +x /opt/shells/masterha/master_ip_online_change_script_3306

编辑脚本文件master_ip_failover_3306,修改如下行为:

my $ssh_start_vip = "sudo /sbin/ifconfig eth0:$key $vip;sudo /sbin/arping -I eth0:0 -c 5 -s 172.16.3.123 172.16.0.1 >/dev/null 2>&1"

编辑master_ip_online_change_script_3306修改如下行为:

my $ssh_start_vip = "sudo /sbin/ifconfig eth0:$key $vip;sudo /sbin/arping -I eth0:0 -c 5 -s 172.16.3.123 172.16.0.1 >/dev/null 2>&1"

`ssh mysql\@${new_master_host} \" $ssh_start_vip \"`; #将root用户替换为MySQL用户,这里会进行SSH添加VIP

`ssh mysql\@${orig_master_host} \" $ssh_stop_vip \"`; #讲root用户替换为MySQL用户,这里会进行SSH摘除VIP

三、MHA健康检查(传递公钥的用户模式下进行检查)

1、检查SSH免密码登录

[mysql@172-16-3-189 ~]$ masterha_check_ssh --conf=/etc/masterha/app_3306.cnf

2、检查同步状态

[mysql@172-16-3-189 ~]$ masterha_check_repl --conf=/etc/masterha/app_3306.cnf

3、检查manager自动漂移服务是否开启

[mysql@172-16-3-189 ~]$ masterha_check_status --conf=/etc/masterha/app_3306.cnf

四、切换测试(漂移过程及结果不做赘述,传递公钥的用户模式下进行漂移)

1、手动切换,并检查同步状态是否正常

[mysql@172-16-3-189 ~]$ masterha_master_switch --conf=/etc/masterha/app_3306.cnf --master_state=alive  --orig_master_is_new_slave -interactive=0

2、自动切换,并查看VIP是否成功漂移

关闭master实例,发现VIP成功从master摘除并漂移到slave上

五、遇到的问题总结

1、MHA的工作目录公钥用户对此没有权限

2、摘除、添加VIP需要有sudo权限

3、在线切换的用户要使用公钥用户而不是不用的root用户

4、手动切换的过程中,使用公钥用户进行,不必进行sudo -s给予sudo权限,否则会多余输入密码

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/21af614ba7f7bd8e3b87e31a824c425e.html