Percona xtrabackup2.4版本遠端備份和搭建從庫的方法介紹

chenfeng發表於2018-08-06

環境介紹:

伺服器作業系統版本:

CentOS 6.9

主庫:192.168.0.1

從庫:192.168.0.2

MySQL版本:5.7.20

資料檔案目錄:/data/mysql/data


因為主庫本地目錄空間不夠,如果備份到本地會報錯,因此可透過從本地遠端備份到目標機器的做法來搭建從庫,即所謂的流xbstream備份方法,這種方法不會佔用主庫本地磁碟空間。

第一步:

需要在本地配置Mysql主從伺服器互信,公鑰免密碼登陸。

登陸主伺服器:

#ssh-keygen -t rsa

敲回車


把id_rsa.pub複製到從伺服器:

# ssh-copy-id -i .ssh/id_rsa.pub "-p22 root@192.168.0.1"


第二步:

1、安裝xtrabackup2.4:(備註:主從庫都必須安裝2.4版本)

# wget \percona-release-0.1-4.noarch.rpm

# rpm -ivH percona-release-0.1-4.noarch.rpm

# yum list | grep percona

# yum install percona-xtrabackup-24


2、建立主庫備份:

# /usr/bin/innobackupex  --defaults-file=/etc/my.cnf --user=root --password='123456' --host=192.168.0.1 --stream=xbstream  /data/backup  | ssh root@192.168.0.2 "xbstream -x -C /data/backup"

3、從庫還原:

先停止從庫Mysql:

# mysqladmin -uroot -p shutdown; (或/etc/init.d/mysqld stop)

# mv /data/mysql/data /data/mysql/data.old  #move走老資料庫檔案目錄

# mkdir /data/mysql/data

應用日誌(可以寫成指令碼):

# cat resume.sh 

/usr/bin/innobackupex --defaults-file=/etc/my.cnf --user root  --socket=/tmp/mysql.sock --apply-log /data/backup

還原資料庫檔案:

# cat move-back.sh 

/usr/bin/innobackupex --defaults-file=/etc/my.cnf --user root  --socket=/tmp/mysql.sock --move-back /home/mysql/backup

備註:也可以用copy-back,適用於從庫磁碟空間夠大的情況)

啟動從庫Mysql:

# chown -R mysql:mysql /data/mysql/*

# /usr/data/mysql/bin/mysqld_safe --user=mysql &


啟動後登陸從庫,到/data/backup目錄裡找到xtrabackup_binlog_info檔案:

# cat /data/backup/xtrabackup_binlog_info

mysql-bin.000008        229003653


登陸從庫然後做change master:

mysql>change master to master_host='192.168.0.1',master_user='slave',master_password='123456',master_log_file='mysql-bin.000008',master_log_pos=229003653,master_connect_retry=10;

mysql> start slave;

備註:搭建從庫之前,記得建立slave賬號。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2199264/,如需轉載,請註明出處,否則將追究法律責任。

相關文章