##########从IO线程没有运行###########WedOct2105:57:482020-[error][/usr/local/share/perl5/MHA/Server.pm, ln490]SlaveIO thread is not running on 20.0.0.24(20.0.0.24:3306)#解决方法:去看一下你的主从配置是否有问题,如果配置文件等没有问题,restart mysqld 再来测试
#####未能获得master_ip_failover_script状态,返回代码为2:0############WedOct2105:59:102020-[error][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln229]Failed to get master_ip_failover_script status with return code 2:0.WedOct2105:59:102020-[error][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln427]Error happened on checking configurations. at /usr/local/bin/masterha_check_repl line 48.WedOct2105:59:102020-[error][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln525]Error happened on monitoring servers.WedOct2105:59:102020-[info]Got exit code 1(Not master dead).#解决方法:这里你的脚本环境不对,去首行看一下你的环境是不是#开头,还有配置文件一定要顶头写
ThuAug2304:39:012018-[warning] log-bin is not set on slave 192.168.0.189(192.168.0.189:3306).This host cannot be a master.ThuAug2304:39:012018-[warning] log-bin is not set on slave 192.168.0.190(192.168.0.190:3306).This host cannot be a master.
解决办法:
从库的各客户端应开启binlog,即log_bin=on,两个从上都开启
[root@centos7-02~]# vi /etc/my.cnf
basedir =/usr/local/mysql
datadir =/data/mysql
socket =/tmp/mysql.sock
server-id=189
log_bin=on
Can't exec "mysqlbinlog": 没有那个文件或目录 at /usr/local/share/perl5/MHA/BinlogManager.pm line 106.
mysqlbinlog version command failed with rc 1:0, please verify PATH, LD_LIBRARY_PATH, and client options
at /usr/local/bin/apply_diff_relay_logs line 493.
解决办法:
#在所有节点上执行如下命令,也就是建立软连接[root@centos7-01~]# ln -s /usr/local/mysql/bin/mysqlbinlog /usr/local/bin/mysqlbinlog
[root@centos7-01~]# ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
[root@centos7-02~]# ln -s /usr/local/mysql/bin/mysqlbinlog /usr/local/bin/mysqlbinlog
[root@centos7-02~]# ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
[root@centos7-03~]# ln -s /usr/local/mysql/bin/mysqlbinlog /usr/local/bin/mysqlbinlog
[root@centos7-03~]# ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
ThuAug2305:41:592018-[error][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln226]Failed to get master_ip_failover_script status with return code 1:0.ThuAug2305:41:592018-[error][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln424]Error happened on checking configurations. at /usr/local/bin/masterha_check_repl line 48ThuAug2305:41:592018-[error][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln523]Error happened on monitoring servers.
解决办法:
[root@centos7-04~]# vi /etc/masterha/app1.cnf
#master_ip_failover_script= /usr/local/bin/master_ip_failover //先暂时注释这条选项,后面引入keepalived后和修改该脚本以后再开启该选项
注释:Failover有两种方式:一种是虚拟IP地址,一种是全局配置文件。MHA并没有限定使用哪一种方式,而是让用户自己选择,虚拟IP地址的方式会牵扯到其它的软件,比如keepalive软件,而且还要修改脚本master_ip_failover。
ThuAug2318:17:142018-[error][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln424]Error happened on checking configurations. Can't exec "/usr/local/bin/master_ip_failover": 权限不够 at /usr/local/share/perl5/MHA/ManagerUtil.pm line 68.ThuAug2318:17:142018-[error][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln523]Error happened on monitoring servers.
解决办法:
chmod +x /usr/local/bin/master_ip_failover
[error][/usr/local/share/perl5/MHA/ServerManager.pm, ln492]Server192.168.0.190(192.168.0.190:3306)is dead, but must be alive!Check server settings.
解决办法:
[root@centos7-04~]# rm -rf /var/log/masterha/app1.log/app1.failover.complete #删除MHA管理机上的这个文件
[error][/usr/local/share/perl5/MHA/ServerManager.pm, ln492]Server192.168.0.190(192.168.0.190:3306)is dead, but must be alive!Check server settings.
解决办法:
清除防火墙规则
[error][/usr/local/share/perl5/MHA/ServerManager.pm, ln492]Server192.168.0.188(192.168.0.188:3306)is dead, but must be alive!Check server settings.FriAug2423:50:372018-[error][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln424]Error happened on checking configurations. at /usr/local/share/perl5/MHA/MasterMonitor.pm line 399
解决办法:
重启主库的mysql服务
[error][/usr/local/share/perl5/MHA/ServerManager.pm, ln781] Multi-master configuration is detected, but two or more masters are either writable (read-only is not set) or dead!Check configurations for details.Master configurations are as below:Master192.168.0.189(192.168.0.189:3306), dead
Master192.168.0.188(192.168.0.188:3306), replicating from192.168.0.189(192.168.0.189:3306)
解决办法:
所有从库上执行,只读模式
mysql -uroot -p -e "set global read_only=1"
mysqlbinlog: unknown variable 'default-character-set=utf8'
mysqlbinlog version command failed with rc 7:0, please verify PATH, LD_LIBRARY_PATH, and client options
解决办法:
在所有从服务器上注释掉clinet段default-character-set=utf8mb4
更改默认字符集UTF8到utf8mb4
[client]#default-character-set = utf8mb4