CentOS6.8下MySQL MHAアーキテクチャ構築ノート

5945 ワード

CentOS6.8下MySQL MHAアーキテクチャ構築ノート
以下、CentOS 6.8下MySQL MHAアーキテクチャ構築ノート
IPリソース計画:
```192.168.206.139 master
192.168.206.140 slave 01(スタンバイmaster)
192.168.206.141 slave02
192.168.206.142 manager
192.168.206.145 VIP ```
一、準備作業:
1.Selinuxを閉じる[root@localhost ~]# vi /etc/selinux/config [root@localhost ~]# reboot
2.ファイアウォールを閉じる[root@localhost ~]# chkconfig iptables off [root@localhost ~]# service iptables stop
3.epel yumソースのインストール[root@localhost tmp]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm [root@localhost tmp]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
4.MHAnodeのインストールに必要なperlモジュール(DBD:mysql)[root@localhost tmp]# yum -y install perl-DBD-MySQL ncftp perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes perl-devel
二、Replication構築
1.アプリケーション・ユーザーの確立(masterおよびslave 01)mysql> GRANT REPLICATION SLAVE ON *.* TO 'u_repl'@'192.168.206.%' IDENTIFIED BY 'replpass' with grant option;
2.MHA管理用ユーザーの確立mysql> GRANT ALL PRIVILEGES ON *.* to 'root'@'192.168.206.%' IDENTIFIED BY 'checkpass';
3.ハーフ同期コピープラグインのインストールmysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so'; mysql> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
4.myを修正する.cnfプロファイル[root@localhost tmp]# vi /etc/my.cnf
5.マスターバックアップslaveリストア(略)、マスターBinlogの場所を検索
6.各slaveでスクリプトを実行し、主従構成を確立します.(MySQL 5.7はmaster_auto_position=1パラメータを直接使用可能)mysql> change master to master_host='192.168.206.139',master_user='u_repl',master_password='replpass',master_log_file='mysql-bin.000001' ,master_log_pos=154; mysql> start slave;
三、インストール構成の開始
1.各ノードはssh-keygenを用いて3台の機器間の相互鍵フリー登録を実現する[root@localhost tmp]# ssh-keygen -t rsa [root@localhost .ssh]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] [root@localhost .ssh]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] [root@localhost .ssh]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
2.managerを含むすべてのノードのダウンロードインストールmha 4 mysql-node-0.56
Googleが壁にされているため、私は直接ネット上からrpmファイルをダウンロードして、具体的なダウンロードの過程は略です.[root@localhost tmp]# yum localinstall mha4mysql-node-0.56-0.el6.noarch.rpmインストール内容の確認[root@localhost tmp]# rpm -ql mha4mysql-node
3.managerノードmha 4 mysql-manager-0.56のインストール[root@localhost tmp]# yum localinstall mha4mysql-manager-0.56-0.el6.noarch.rpmインストール内容の確認[root@localhost tmp]# rpm -ql mha4mysql-manager
4.managerノードでMHAプロファイルを管理する
前はyumインストールを採用して、samplesフォルダがないので、別のdownはmha 4 mysql-manager-0.56を1部しました.tar.gzパケット(具体的なパス略)[root@localhost tmp]# tar xf mha4mysql-manager-0.56.tar.gz [root@localhost tmp]# cd mha4mysql-manager-0.56 [root@localhost mha4mysql-manager-0.56]# mkdir -p /etc/mha/{app1,scripts} [root@localhost mha4mysql-manager-0.56]# cp -r samples/conf/* /etc/mha/ [root@localhost mha4mysql-manager-0.56]# cp -r samples/scripts/* /etc/mha/scripts/ [root@localhost mha4mysql-manager-0.56]# mv /etc/mha/app1.cnf /etc/mha/app1/ [root@localhost mha4mysql-manager-0.56]# mv /etc/mha/masterha_default.cnf /etc/masterha_default.cnf
5.managerでグローバル構成を設定する
マスター_の変更ip_failoverスクリプト、VIPドリフト関連の3つのパラメータを追加[root@localhost mha4mysql-manager-0.56]# vi /etc/mha/scripts/master_ip_failover修正master_ip_online_changeスクリプト、VIPドリフト関連の3つのパラメータを追加[root@localhost scripts]# vi master_ip_online_change修正masterha_default.cnfグローバル構成[root@localhost mha4mysql-manager-0.56]# vi /etc/masterha_default.cnfログ・ディレクトリの作成:[root@localhost mha4mysql-manager-0.56]# mkdir -p /var/log/mha/app1はapp 1を配置する.cnf: [root@localhost mha4mysql-manager-0.56]# vi /etc/mha/app1/app1.cnf
6.インストール内容の検証
ssh信頼の検証[root@localhost mha4mysql-manager-0.56]# masterha_check_ssh --conf=/etc/mha/app1/app1.cnfマスターコピーの検証[root@localhost mha4mysql-manager-0.56]# masterha_check_repl --conf=/etc/mha/app1/app1.cnf
四、MHAの起動、MHAの故障移転のテスト
MHAの起動[root@localhost mha4mysql-manager-0.56]# masterha_manager --conf=/etc/mha/app1/app1.cnfまたはバックグラウンドで起動[root@localhost mha4mysql-manager-0.56]# nohup masterha_manager --conf=/etc/mha/app1/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/mha/app1/manager.log 2>&1 &マスターのVIPを配置する[root@localhost mysql]# /sbin/ifconfig eth0:234 192.168.206.145 netmask 255.255.255.0 up VIP確認[root@localhost mysql]# ifconfig MHA起動状態を確認する:[root@localhost ~]# masterha_check_status --conf=/etc/mha/app1/app1.cnfプロセス確認:[root@localhost scripts]# ps aux|grep mha MHA Managerモニタをオフにします.[root@localhost mha4mysql-manager-0.56]# masterha_stop --conf=/etc/mha/app1/app1.cnfアクティブ切り替えのインタラクティブモード[root@localhost scripts]# masterha_master_switch --master_state=alive --conf=/etc/mha/app1/app1.cnf --new_master_host=192.168.206.140古いマスターをコピーに追加し直し、新しいマスターを指します.mysql> change master to master_host='192.168.206.140',master_user='u_repl',master_password='replpass',master_auto_position=1; mysql> start slave;アクティブ切り替え非インタラクティブモード:[root@localhost scripts]# masterha_master_switch --master_state=alive --conf=/etc/mha/app1/app1.cnf --new_master_host=192.168.206.139 --interactive=0 Master192.168.206.140ダウンタイムモードで主従を切り替えます.masterha_master_switch --master_state=dead --conf=/etc/mha/app1/app1.cnf --dead_master_host=192.168.206.140 --dead_master_ip=192.168.206.140 --dead_master_port=3306 --new_master_host=192.168.206.139
転載先:https://www.cnblogs.com/jiaozhuo/p/6565872.html