MySQL MHA是一款MySQL多主復制高可用解決方案,支持實現最少三個節點的MySQL集群。在該集群中,兩個節點為主節點,一個節點為備節點。
使用MHA,可以實現在集群中某一個主節點宕機時,自動切換到其他主節點,從而保證整個集群的高可用性。下面介紹MHA三節點的配置方法:
1. 安裝MHA Manager組件 yum install perl-CPAN #安裝Perl CPAN模塊 yum install -y perl-ExtUtils-MakeMaker.noarch yum install perl-Params-Validate.noarch yum install perl-DBI.x86_64 perl-DBD-MySQL.x86_64 perl-IO-Socket-SSL.noarch perl-Config-Tiny.noarch tar -xf mha4mysql-manager-0.57.tar.gz #解壓MHA Manager cd mha4mysql-manager-0.57 perl Makefile.PL make make install 2. 創建MHA配置文件 mkdir -p /etc/mha cd /etc/mha vi app1.cnf #創建配置文件 [server default] ssh_user = root manager_log=/var/log/mha/app1.log master_binlog_dir = /data/mysql/log/mysql-bin master_log_name = mysql-bin.000001 user = repl password = repl [server1] hostname = 10.0.0.10 candidate_master = 1 [server2] hostname = 10.0.0.11 candidate_master = 1 [server3] hostname = 10.0.0.12 candidate_master = 1 3. 配置SSH免密登錄 在三個節點上都執行以下操作: ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.11 ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.12 4. 測試鏈接 masterha_check_ssh --conf=/etc/mha/app1.cnf masterha_check_repl --conf=/etc/mha/app1.cnf 5. 啟動MHA Manager nohup masterha_manager --conf=/etc/mha/app1.cnf >/dev/null 2>&1 & 6. 實現自動切換 當主節點宕機時,MHA Manager會自動判斷哪個候選主節點最適合被提升為新的主節點,自動進行主從切換。可以通過查看MHA Manager的日志來確認切換操作是否成功。