- 实验环境:Centos 7.6、MySQL 5.7、mha4mysql-manager-0.57、mha4mysql-node-0.57
- 故障发生背景:在MHA上进行健康检查时报错
- 故障报错信息:
mysqlbinlog: [ERROR] unknown variable 'default-character-set=utf8'
mysqlbinlog version command failed with rc 7:0, please verify PATH, LD_LIBRARY_PATH, and client options
at /usr/local/bin/apply_diff_relay_logs line 493.
Fri Aug 28 16:58:12 2020 - [error][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln208] Slaves settings check failed!
Fri Aug 28 16:58:12 2020 - [error][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln416] Slave configuration failed.
Fri Aug 28 16:58:12 2020 - [error][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln427] Error happened on checking configurations. at /usr/local/bin/masterha_check_repl line 48.
Fri Aug 28 16:58:12 2020 - [error][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln525] Error happened on monitoring servers.
Fri Aug 28 16:58:12 2020 - [info] Got exit code 1 (Not master dead).
- 故障原因分析:从前几行可以看出是字符集设置出现了问题,博主之前使用MySQL5.6部署过MHA则没有出现过这个问题
- 解决方案:其实问题就出在字符集设置上,在所有从服务器上client 段default-character-set=utf8注释掉,然后更改[mysql]、[mysqld]标签下默认字符集UTF8为utf8mb4即可解决