目录
一 MHA搭建过程中问题集合问题一:问题二:问题三:问题四:问题五:问题六:问题七:问题八:问题九:问题十:问题十一:问题十二:
一 MHA搭建过程中问题集合
问题一:
Thu Aug 23 04:39:01 2018 -
[warning
] log-bin is not
set on slave 192.168.0.189
(192.168.0.189:3306
). This host cannot be a master.
Thu Aug 23 04:39:01 2018 -
[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 ~
]
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 ~
]
[root@centos7-01 ~
]
[root@centos7-02 ~
]
[root@centos7-02 ~
]
[root@centos7-03 ~
]
[root@centos7-03 ~
]
问题三:
Thu Aug 23 05:41:59 2018 -
[error
][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln226
] Failed to get master_ip_failover_script status with
return code 1:0.
Thu Aug 23 05:41:59 2018 -
[error
][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln424
] Error happened on checking configurations. at /usr/local/bin/masterha_check_repl line 48
Thu Aug 23 05:41:59 2018 -
[error
][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln523
] Error happened on monitoring servers.
解决办法:
[root@centos7-04 ~
]
注释:Failover有两种方式:一种是虚拟IP地址,一种是全局配置文件。MHA并没有限定使用哪一种方式,而是让用户自己选择,虚拟IP地址的方式会牵扯到其它的软件,比如keepalive软件,而且还要修改脚本master_ip_failover。
问题四:
Thu Aug 23 18:17:14 2018 -
[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.
Thu Aug 23 18:17:14 2018 -
[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
] Server 192.168.0.190
(192.168.0.190:3306
) is dead, but must be alive
! Check server settings.
解决办法:
[root@centos7-04 ~
]
问题六:
[error
][/usr/local/share/perl5/MHA/ServerManager.pm, ln492
] Server 192.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
] Server 192.168.0.188
(192.168.0.188:3306
) is dead, but must be alive
! Check server settings.
Fri Aug 24 23:50:37 2018 -
[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/MasterMonitor.pm, ln205
] Slaves settings check failed
!
解决办法:
登陆从数据库,查看主数据库是不是自己设定的
mysql
> show slave status\G
Master_Server_Id: 189
问题九:
[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:
Master 192.168.0.189
(192.168.0.189:3306
), dead
Master 192.168.0.188
(192.168.0.188:3306
), replicating from 192.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
]
[mysql
]
default-character-set
= utf8mb4
[mysqld
]
character-set-client-handshake
= FALSE
character-set-server
= utf8mb4
collation-server
= utf8mb4_unicode_ci
init_connect
='SET NAMES utf8mb4'
问题十一:
root@ubuntu:~
Fri May 15 14:22:05 2020 -
[warning
] Global configuration
file /etc/masterha_default.cnf not found. Skipping.
Fri May 15 14:22:05 2020 -
[info
] Reading application default configuration from /etc/mha/mysql/app.cnf
..
Fri May 15 14:22:05 2020 -
[info
] Reading server configuration from /etc/mha/mysql/app.cnf
..
Fri May 15 14:22:05 2020 -
[info
] MHA::MasterMonitor version 0.58.
Fri May 15 14:22:05 2020 -
[error
][/usr/local/share/perl/5.22.1/MHA/Server.pm, ln180
] Got MySQL error when connecting 192.168.1.2
(192.168.1.2:3306
) :1045:Access denied
for user
'mha'@
'192.168.1.3' (using password: YES
), but this is not a MySQL crash. Check MySQL server settings.
Fri May 15 14:22:05 2020 -
[error
][/usr/local/share/perl/5.22.1/MHA/Server.pm, ln180
] Got MySQL error when connecting 192.168.1.1
(192.168.1.1:3306
) :1045:Access denied
for user
'mha'@
'192.168.1.3' (using password: YES
), but this is not a MySQL crash. Check MySQL server settings.
Fri May 15 14:22:05 2020 -
[error
][/usr/local/share/perl/5.22.1/MHA/ServerManager.pm, ln301
] at /usr/local/share/perl/5.22.1/MHA/ServerManager.pm line 297.
Fri May 15 14:22:05 2020 -
[error
][/usr/local/share/perl/5.22.1/MHA/ServerManager.pm, ln301
] at /usr/local/share/perl/5.22.1/MHA/ServerManager.pm line 297.
Fri May 15 14:22:06 2020 -
[error
][/usr/local/share/perl/5.22.1/MHA/ServerManager.pm, ln309
] Got fatal error, stopping operations
Fri May 15 14:22:06 2020 -
[error
][/usr/local/share/perl/5.22.1/MHA/MasterMonitor.pm, ln427
] Error happened on checking configurations. at /usr/local/share/perl/5.22.1/MHA/MasterMonitor.pm line 329.
Fri May 15 14:22:06 2020 -
[error
][/usr/local/share/perl/5.22.1/MHA/MasterMonitor.pm, ln525
] Error happened on monitoring servers.
Fri May 15 14:22:06 2020 -
[info
] Got
exit code 1
(Not master dead
).
MySQL Replication Health is NOT OK
!
解决办法:
mysql
> grant all privileges on *.* to
'mha'@
'Mysql1' identified by
'manager';
mysql
> grant all privileges on *.* to
'mha'@
'Mysql2' identified by
'manager';
mysql
> grant all privileges on *.* to
'mha'@
'Mysql3' identified by
'manager';
mysql
> flush privileges
;
问题十二:
[root@mysql3 ~
]
> --basedir
=/usr/local/mysql \
> --datadir
=/usr/local/mysql/data \
> --user
=mysql
bash: /usr/local/mysql/scripts/mysql_install_db: /usr/bin/perl: bad interpreter: No such
file or directory
解决办法:
yum -y
install autoconf