▲就業(yè)班和全程班的小伙伴看這里:(學(xué)習(xí)老王視頻的作業(yè)第29-30節(jié))
1享甸、編寫腳本插勤,支持讓用戶自主選擇,使用mysqldump還是xtraback全量備份钻心。
PS3="please in put number is backup database mode: "
select num in mysqldump xtraback quit;do
case $REPLY in
1)
mysqldump -A --master-data=2 -F --single-transaction ?-q |gzip ?> /data/mysql-`date +%F`.sql.gz
echo "mysqldump-all-databses successful"
break
;;
2)
mkdir /data/xrabackup-`date +%F`
xtrabackup --backup --target-dir=/data/xrabackup-`date +%F` &> /dev/null
echo "xtrabackup-all-databases successful"
break
;;
3)
break
;;
*)
echo "please choice 1 or 2 or 3"
esac
done
2唉匾、配置Mysql主從同步
實(shí)驗(yàn)環(huán)境:
(1)37.7為數(shù)據(jù)庫服務(wù)器孕讳;37.17從服務(wù)器;
(2)37.7開啟二進(jìn)制日志
一巍膘、主服務(wù)器-37.7
[root@centos7 ~]#vim /etc/my.cnf
server-id=1? ? ? ? ? ? ? ? ? ? ? ? ?
log-bin=/data/logbin/mysql-bin? ? ? ?
:wq
#systemctl start mariadb
mysql> grant replication slave on *.* to repluser@'192.168.37.%' identified by? 'centos';? ? ? ? ? ? ? ? ? ?
mysql> show master logs ;? ?
mysql-bin.000002 |? ? ? 402 |
二厂财、從服務(wù)器-37.17
[root@centos7 ~]#vim /etc/my.cnf
server-id=2
read_only=ON
:wq
#systemctl start mariadb
mysql>CHANGE MASTER TO
? MASTER_HOST='192.168.37.7',
? MASTER_USER='repluser',
? MASTER_PASSWORD='centos',
? MASTER_PORT=3306,
? MASTER_LOG_FILE='mysql-bin.000002',
? MASTER_LOG_POS=402;
mysql>start slave;? ? ? ? ? ? ?
mysql>show slave status\G? ? ? ?
3、使用MHA實(shí)現(xiàn)Mysql高可用峡懈。
實(shí)驗(yàn)環(huán)境:4臺機(jī)器璃饱;主從服務(wù)器配置為半同步復(fù)制;并且可以基于KEY登錄
1肪康、Manager:192.168.37.7
2荚恶、master: 192.168.37.17
3、slave1: 192.168.37.27 (準(zhǔn)備提升的從服務(wù)器)
4磷支、slave2: 192.168.37.37
5谒撼、在管理節(jié)點(diǎn)上安裝兩個包
mha4mysql-manager
mha4mysql-node
6、在被管理節(jié)點(diǎn)安裝
mha4mysql-node
一雾狈、主從復(fù)制
1.1 master---37.17
#vim /etc/my.cnf
[mysqld]
log-bin
server_id=1
skip_name_resolve=1
:wq
#systemctl restart mariadb
mysql>grant replication slave on *.* to repluser@'192.168.37.%' identified by 'magedu';
mysql>grant all on *.* to mhauser@'192.168.37.%' identified by 'magedu';
1.2 所有slave
#vim /etc/my.cnf
[mysqld]
server_id=XX? ? ? ? ? ? ? ? ? ??
log-bin
read_only
relay_log_purge=0
skip_name_resolve=1
:wq
#systemctl restart mariadb
mysql>CHANGE MASTER TO MASTER_HOST='192.168.37.17',
MASTER_USER='repluser', MASTER_PASSWORD='magedu',
MASTER_LOG_FILE='mariadb-bin.000001', MASTER_LOG_POS=245;
二廓潜、安裝mha? 需要啟用epel? 4臺主機(jī)都進(jìn)行
yum install mha*.rpm
三、基于KEY免密碼認(rèn)證---在37.7上生成KEY善榛,然后復(fù)制到其他主機(jī)上即可實(shí)現(xiàn)
#ssh-keygen
#ls -a .ssh
#ssh-copy-id 192.168.37.7
#cat /root/.ssh/authorized_keys
#scp -r .ssh 192.168.37.17:/root/
#scp -r .ssh 192.168.37.27:/root/
#scp -r .ssh 192.168.37.37:/root/
#ssh 192.168.37.17
四辩蛋、MHA的配置文件---37.7
#mkdir /etc/mha
#vim /etc/mha/app1.cnf
[server default]
user=mhauser
password=magedu
manager_workdir=/data/mastermha/app1/
manager_log=/data/mastermha/app1/manager.log
remote_workdir=/data/mastermha/app1/
ssh_user=root
repl_user=repluser
repl_password=magedu
ping_interval=1
[server1]
hostname=192.168.37.17
candidate_master=1
[server2]
hostname=192.168.37.27
candidate_master=1
[server3]
hostname=192.168.37.37
:wq
五、Mha驗(yàn)證
masterha_check_ssh --conf=/etc/mha/app1.cnf? ? ?
masterha_check_repl --conf=/etc/mha/app1.cnf? ? ?
六锭弊、啟動
masterha_manager --conf=/etc/mha/app1.cnf
七堪澎、排錯日志
#tail -f /data/mastermha/app1/manager.log
八擂错、破壞性實(shí)驗(yàn)
8.1味滞、37.17 主機(jī)關(guān)機(jī);查看是否會啟用37.27
8.2、MHA為前臺服務(wù)剑鞍,啟用37.27后昨凡,服務(wù)會自動退出,可以從排錯日志中看到
8.3蚁署、切換成功后便脊,要將37.27的配置文件中的read-only注釋掉
8.4、37.17配置為從服務(wù)器繼續(xù)使用