MySQL关于MHA高可用问题
1.MHA高可用互信问题 检查互信: masterha_check_ssh -conf=/opt/mysql-mha/mysql_mha.cnf
提示ssh验证失败
注: Manager节点和MySQL节点需要互相进行互信否则会报错,即: ssh-keygen -t rsa #生成新的RSA类型密钥 scp-copy-id Manager和MySQL所有节点 #每台机器都执行
2.MHA检测配置文件测试主从问题 检测配置文件测试主从: masterha_check_repl -conf=/opt/mysql-mha/mysql_mha.cnf 提示访问权限被拒绝,不允许被链接到MySQL服务器:
显示master当链接到159节点时没有权限链接到MySQL服务器,所以需要给master节点用户权限,这边master指定从库用户的是slave用户,所以给了slave用户满权限进行尝试,解决。
提示在访问159节点时,以mha用户访问没有权限:
所以在所有slave节点都又创建了一遍mha用户给满权限后重新检测,问题解决
mha配置文件主服务器地址未添加
最开始没有在mha配置文件中添加master的server配置,所以提示10master节点没有添加,重新添加后执行问题解决
3.模拟master故障VIP漂移后,源master节点在重新指定主从时,提示从中继日志提取信息式失败
这是因为在启动start slave时,使用repository中信息初始化relay log结构失败了,由于我使用的是冷备份文件恢复的实例,在mysql库中的slave_relay_log_info表中依然保留之前relay_log的信息,所以导致启动slave报错
解决方法:
登录MySQL后使用reset slave;来清除从服务器上的复制进程状态,包括中继日志信息和复制位置。然后change master to 重新指定master,然后start slave;解决成功