• MySQL MHA /usr/share/perl5/vendor_perl/MHA/ServerManager.pm, ln301] install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted


    在公司随便找3台测试机搭个MHA,下面这个问题折腾了三天,之前没遇到过,查了OS版本发现一致,可能是不同人弄的OS吧,知道是cpan的问题就是搞不定,郁闷。。。
    [root@test247 ~]# masterha_check_repl --conf=/etc/masterha/app1.cnf
    Wed Dec 4 11:53:59 2019 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
    Wed Dec 4 11:53:59 2019 - [info] Reading application default configuration from /etc/masterha/app1.cnf..
    Wed Dec 4 11:53:59 2019 - [info] Reading server configuration from /etc/masterha/app1.cnf..
    Wed Dec 4 11:53:59 2019 - [info] MHA::MasterMonitor version 0.56.
    Wed Dec 4 11:54:00 2019 - [error][/usr/share/perl5/vendor_perl/MHA/ServerManager.pm, ln301] install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted.
    Compilation failed in require at (eval 26) line 3.

    at /usr/share/perl5/vendor_perl/MHA/DBHelper.pm line 205
    at /usr/share/perl5/vendor_perl/MHA/Server.pm line 166
    Wed Dec 4 11:54:00 2019 - [error][/usr/share/perl5/vendor_perl/MHA/ServerManager.pm, ln301] install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted.
    Compilation failed in require at (eval 26) line 3.

    at /usr/share/perl5/vendor_perl/MHA/DBHelper.pm line 205
    at /usr/share/perl5/vendor_perl/MHA/Server.pm line 166
    Wed Dec 4 11:54:00 2019 - [error][/usr/share/perl5/vendor_perl/MHA/ServerManager.pm, ln301] install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted.
    Compilation failed in require at (eval 26) line 3.

    at /usr/share/perl5/vendor_perl/MHA/DBHelper.pm line 205
    at /usr/share/perl5/vendor_perl/MHA/Server.pm line 166
    Wed Dec 4 11:54:01 2019 - [error][/usr/share/perl5/vendor_perl/MHA/ServerManager.pm, ln309] Got fatal error, stopping operations
    Wed Dec 4 11:54:01 2019 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln424] Error happened on checking configurations. at /usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm line 326
    Wed Dec 4 11:54:01 2019 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln523] Error happened on monitoring servers.
    Wed Dec 4 11:54:01 2019 - [info] Got exit code 1 (Not master dead).

    MySQL Replication Health is NOT OK!


    参考下面帖子发现结果还有异常
    https://www.cnblogs.com/fangyuan303687320/p/9475279.html

    yum install -y cpan
    cpan -D DBI
    # [yes---sudo]
    --上面这不执行了好几分钟,输入了很多次yes
    cpan DBD::mysql
    还是出现下面的异常

    --异常
    DVEEDEN/DBD-mysql-4.050.tar.gz
    /usr/bin/make -- OK
    Running make test
    PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
    t/00base.t .............................. 1/6
    # Failed test 'use DBD::mysql;'
    # at t/00base.t line 15.
    # Tried to use 'DBD::mysql'.
    # Error: Can't load '/root/.cpan/build/DBD-mysql-4.050-d0WgOf/blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql: libmysqlclient.so.20: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 200.
    # at t/00base.t line 15
    # Compilation failed in require at t/00base.t line 15.
    # BEGIN failed--compilation aborted at t/00base.t line 15.
    Bailout called. Further testing stopped: Unable to load DBD::mysql
    FAILED--Further testing stopped: Unable to load DBD::mysql
    make: *** [test_dynamic] Error 255
    DVEEDEN/DBD-mysql-4.050.tar.gz
    /usr/bin/make test -- NOT OK
    //hint// to see the cpan-testers results for installing this module, try:
    reports DVEEDEN/DBD-mysql-4.050.tar.gz
    Running make install
    make test had returned bad status, won't install without force

    最后发现需要先执行下这个才可以,需要回答几次yes
    [root@test247 ~]# cpan
    cpan[1]> force install GD
    ...
    Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
    Installing /usr/local/lib64/perl5/auto/GD/GD.so
    Installing /usr/local/lib64/perl5/auto/GD/GD.bs
    Installing /usr/local/lib64/perl5/GD.pm
    Installing /usr/local/lib64/perl5/auto/GD/autosplit.ix
    Installing /usr/local/lib64/perl5/GD/Polygon.pm
    Installing /usr/local/lib64/perl5/GD/Simple.pm
    Installing /usr/local/lib64/perl5/GD/Group.pm
    Installing /usr/local/lib64/perl5/GD/Image.pm
    Installing /usr/local/lib64/perl5/GD/Polyline.pm
    Installing /usr/local/share/man/man1/bdf2gdfont.pl.1
    Installing /usr/local/share/man/man3/GD.3pm
    Installing /usr/local/share/man/man3/GD::Polygon.3pm
    Installing /usr/local/share/man/man3/GD::Group.3pm
    Installing /usr/local/share/man/man3/GD::Simple.3pm
    Installing /usr/local/share/man/man3/GD::Polyline.3pm
    Installing /usr/local/share/man/man3/GD::Image.3pm
    Installing /usr/local/bin/bdf2gdfont.pl
    Appending installation info to /usr/lib64/perl5/perllocal.pod
    RURBAN/GD-2.71.tar.gz
    /usr/bin/make install -- OK

    cpan[2]> exit

    [root@test247 ~]# cpan DBD::mysql
    CPAN: Storable loaded ok (v2.20)
    Going to read '/root/.cpan/Metadata'
    Database was generated on Wed, 04 Dec 2019 02:29:02 GMT
    Running install for module 'DBD::mysql'
    CPAN: YAML loaded ok (v0.70)
    Running make for D/DV/DVEEDEN/DBD-mysql-4.050.tar.gz
    CPAN: Digest::SHA loaded ok (v5.47)
    Checksum for /root/.cpan/sources/authors/id/D/DV/DVEEDEN/DBD-mysql-4.050.tar.gz ok
    ...
    For 'make test' to run properly, you must ensure that the
    database user 'root' can connect to your MySQL server
    and has the proper privileges that these tests require such
    as 'drop table', 'create table', 'drop procedure', 'create procedure'
    as well as others.

    mysql> grant all privileges on test.* to 'root'@'localhost' identified by 's3kr1t';

    You can also optionally set the user to run 'make test' with:

    perl Makefile.PL --testuser=username
    ...
    Prepending /root/.cpan/build/DBD-mysql-4.050-LtZCXU/blib/arch /root/.cpan/build/DBD-mysql-4.050-LtZCXU/blib/lib to PERL5LIB for 'install'
    Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
    Installing /usr/local/lib64/perl5/auto/DBD/mysql/mysql.so
    Installing /usr/local/lib64/perl5/auto/DBD/mysql/mysql.bs
    Installing /usr/local/lib64/perl5/Bundle/DBD/mysql.pm
    Installing /usr/local/lib64/perl5/DBD/mysql.pm
    Installing /usr/local/lib64/perl5/DBD/mysql/GetInfo.pm
    Installing /usr/local/lib64/perl5/DBD/mysql/INSTALL.pod
    Installing /usr/local/share/man/man3/DBD::mysql.3pm
    Installing /usr/local/share/man/man3/Bundle::DBD::mysql.3pm
    Installing /usr/local/share/man/man3/DBD::mysql::INSTALL.3pm
    Appending installation info to /usr/lib64/perl5/perllocal.pod
    DVEEDEN/DBD-mysql-4.050.tar.gz
    /usr/bin/make install -- OK
    [root@test247 ~]#


    再运行OK了
    [root@test247 ~]# masterha_check_repl --conf=/etc/masterha/app1.cnf
    Wed Dec 4 12:20:09 2019 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
    Wed Dec 4 12:20:09 2019 - [info] Reading application default configuration from /etc/masterha/app1.cnf..
    Wed Dec 4 12:20:09 2019 - [info] Reading server configuration from /etc/masterha/app1.cnf..
    Wed Dec 4 12:20:09 2019 - [info] MHA::MasterMonitor version 0.56.
    Wed Dec 4 12:20:10 2019 - [info] GTID failover mode = 0
    Wed Dec 4 12:20:10 2019 - [info] Dead Servers:
    Wed Dec 4 12:20:10 2019 - [info] Alive Servers:
    Wed Dec 4 12:20:10 2019 - [info] 192.168.5.247(192.168.5.247:3306)
    Wed Dec 4 12:20:10 2019 - [info] 192.168.5.93(192.168.5.93:3306)
    Wed Dec 4 12:20:10 2019 - [info] 192.168.5.94(192.168.5.94:3306)
    Wed Dec 4 12:20:10 2019 - [info] Alive Slaves:
    Wed Dec 4 12:20:10 2019 - [info] 192.168.5.93(192.168.5.93:3306) Version=5.7.21-log (oldest major version between slaves) log-bin:enabled
    Wed Dec 4 12:20:10 2019 - [info] Replicating from 192.168.5.247(192.168.5.247:3306)
    Wed Dec 4 12:20:10 2019 - [info] Primary candidate for the new Master (candidate_master is set)
    Wed Dec 4 12:20:10 2019 - [info] 192.168.5.94(192.168.5.94:3306) Version=5.7.21-log (oldest major version between slaves) log-bin:enabled
    Wed Dec 4 12:20:10 2019 - [info] Replicating from 192.168.5.247(192.168.5.247:3306)
    Wed Dec 4 12:20:10 2019 - [info] Current Alive Master: 192.168.5.247(192.168.5.247:3306)
    Wed Dec 4 12:20:10 2019 - [info] Checking slave configurations..
    Wed Dec 4 12:20:10 2019 - [info] Checking replication filtering settings..
    Wed Dec 4 12:20:10 2019 - [info] binlog_do_db= , binlog_ignore_db=
    Wed Dec 4 12:20:10 2019 - [info] Replication filtering check ok.
    Wed Dec 4 12:20:10 2019 - [info] GTID (with auto-pos) is not supported
    Wed Dec 4 12:20:10 2019 - [info] Starting SSH connection tests..
    Wed Dec 4 12:20:12 2019 - [info] All SSH connection tests passed successfully.
    Wed Dec 4 12:20:12 2019 - [info] Checking MHA Node version..
    Wed Dec 4 12:20:13 2019 - [info] Version check ok.
    Wed Dec 4 12:20:13 2019 - [info] Checking SSH publickey authentication settings on the current master..
    Wed Dec 4 12:20:13 2019 - [info] HealthCheck: SSH to 192.168.5.247 is reachable.
    Wed Dec 4 12:20:13 2019 - [info] Master MHA Node version is 0.56.
    Wed Dec 4 12:20:13 2019 - [info] Checking recovery script configurations on 192.168.5.247(192.168.5.247:3306)..
    Wed Dec 4 12:20:13 2019 - [info] Executing command: save_binary_logs --command=test --start_pos=4 --binlog_dir=/data/mysql/logs/bin-log --output_file=/tmp/save_binary_logs_test --manager_version=0.56 --start_file=mysql-bin.000008
    Wed Dec 4 12:20:13 2019 - [info] Connecting to root@192.168.5.247(192.168.5.247:22)..
    Creating /tmp if not exists.. ok.
    Checking output directory is accessible or not..
    ok.
    Binlog found at /data/mysql/logs/bin-log, up to mysql-bin.000008
    Wed Dec 4 12:20:13 2019 - [info] Binlog setting check done.
    Wed Dec 4 12:20:13 2019 - [info] Checking SSH publickey authentication and checking recovery script configurations on all alive slave servers..
    Wed Dec 4 12:20:13 2019 - [info] Executing command : apply_diff_relay_logs --command=test --slave_user='monitor' --slave_host=192.168.5.93 --slave_ip=192.168.5.93 --slave_port=3306 --workdir=/tmp --target_version=5.7.21-log --manager_version=0.56 --relay_log_info=/data/mysql/relay-log.info --relay_dir=/data/mysql/data/ --slave_pass=xxx
    Wed Dec 4 12:20:13 2019 - [info] Connecting to root@192.168.5.93(192.168.5.93:22)..
    Checking slave recovery environment settings..
    Opening /data/mysql/relay-log.info ... ok.
    Relay log found at /data/mysql/logs/relay-log, up to relay-bin.000015
    Temporary relay log file is /data/mysql/logs/relay-log/relay-bin.000015
    Testing mysql connection and privileges..mysql: [Warning] Using a password on the command line interface can be insecure.
    done.
    Testing mysqlbinlog output.. done.
    Cleaning up test file(s).. done.
    Wed Dec 4 12:20:13 2019 - [info] Executing command : apply_diff_relay_logs --command=test --slave_user='monitor' --slave_host=192.168.5.94 --slave_ip=192.168.5.94 --slave_port=3306 --workdir=/tmp --target_version=5.7.21-log --manager_version=0.56 --relay_log_info=/data/mysql/relay-log.info --relay_dir=/data/mysql/data/ --slave_pass=xxx
    Wed Dec 4 12:20:13 2019 - [info] Connecting to root@192.168.5.94(192.168.5.94:22)..
    Checking slave recovery environment settings..
    Opening /data/mysql/relay-log.info ... ok.
    Relay log found at /data/mysql/logs/relay-log, up to relay-bin.000015
    Temporary relay log file is /data/mysql/logs/relay-log/relay-bin.000015
    Testing mysql connection and privileges..mysql: [Warning] Using a password on the command line interface can be insecure.
    done.
    Testing mysqlbinlog output.. done.
    Cleaning up test file(s).. done.
    Wed Dec 4 12:20:14 2019 - [info] Slaves settings check done.
    Wed Dec 4 12:20:14 2019 - [info]
    192.168.5.247(192.168.5.247:3306) (current master)
    +--192.168.5.93(192.168.5.93:3306)
    +--192.168.5.94(192.168.5.94:3306)

    Wed Dec 4 12:20:14 2019 - [info] Checking replication health on 192.168.5.93..
    Wed Dec 4 12:20:14 2019 - [info] ok.
    Wed Dec 4 12:20:14 2019 - [info] Checking replication health on 192.168.5.94..
    Wed Dec 4 12:20:14 2019 - [info] ok.
    Wed Dec 4 12:20:14 2019 - [info] Checking master_ip_failover_script status:
    Wed Dec 4 12:20:14 2019 - [info] /usr/local/bin/master_ip_failover --command=status --ssh_user=root --orig_master_host=192.168.5.247 --orig_master_ip=192.168.5.247 --orig_master_port=3306
    Wed Dec 4 12:20:14 2019 - [info] OK.
    Wed Dec 4 12:20:14 2019 - [warning] shutdown_script is not defined.
    Wed Dec 4 12:20:14 2019 - [info] Got exit code 0 (Not master dead).

    MySQL Replication Health is OK.
    [root@test247 ~]#

  • 相关阅读:
    初始Openwrt
    Angular CLI 使用教程指南参考
    Visual Studio Code怎么在同一窗口打开多个项目文件?
    mysql查看数据表是否有重复数据
    Angular UI框架 Ng-alain @delon的脚手架的生成开发模板
    VS2010 WDK7.1.0 Win7_64
    Nodejs使用TLS
    python定时执行方法
    Visual Studio Code 使用Git进行版本控制
    VSCode中设置Python解释器和pylint的波浪线问题
  • 原文地址:https://www.cnblogs.com/ritchy/p/11983141.html
Copyright © 2020-2023  润新知