環境:Centos6.5、MySQL5.7、XtraBackup2.4.13(經過測試、此版本適合MySQL5.7)
一、這裡是先安裝寶塔Linux5.9整合環境、之後再安裝MySQL
# yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
複製程式碼
二、安裝XtraBackup ,rpm方式安裝
# yum install perl-Time-HiRes
# yum install -y perl-DBD-MySQL
# yum install -y perl-Digest-MD5
# yum install -y rsync
# yum install -y numactl-devel
# wget https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.13/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.13-1.el6.x86_64.rpm
# rpm -ivh percona-xtrabackup-24-2.4.13-1.el6.x86_64.rpm
複製程式碼
三、配置主從資料庫
1、主庫配置my.cnf
[mysqld]
#增加server-id 和 bin-log
server-id = 198
log-bin = mysql-bin
複製程式碼
2、主庫配置授權賬號
mysql> grant replication slave on *.* to root@‘192.168.199.198’ identified by '51562e6f6d044223';
mysql> flush privileges;
複製程式碼
3、從庫配置my.cnf
[mysqld]
增加server-id 和 bin-log
server-id = 199
slave_skip_errors=1062 #1062是指跳過一些主鍵重複的錯誤
#如果需要在從庫上做bin-log備份可以新增如下引數
log-bin = mysql-bin
log-slave-updates = 1
expire-logs-days=10
複製程式碼
主從資料庫都要過載配置
四、全量備份
[root@Centos]# xtrabackup --defaults-file=/etc/my.cnf --host=127.0.0.1 --user=root --password=51562e6f6d044223 --port=3306 --backup --target-dir=/www/backup/xtrabackup/
[root@Centos]# ls /www/backup/xtrabackup/
複製程式碼
xtrabackup會把資料庫datadir下的所有資料 檔案都複製過來還新增了4個xtrabackup_開頭的檔案,xtrabackup_binlog_info這個錄了做從庫需要change到主庫的binlog的位置和pos點
五、恢復資料到從庫
1、停止從庫 把主庫備份檔案拷貝到從庫機器
[root@Centos]# scp -r xtrabackup/* root@192.168.2.199:/www/server/data
複製程式碼
2、修改恢復檔案許可權
[root@Centos]# chown -R mysql:mysql /www/server/data
複製程式碼
3、啟動從資料庫 確認資料是否恢復成功 登入從庫,執行
mysql> show databases;
複製程式碼
六、開啟主從同步
1、確認同步的位置點 在從庫上或者主庫上都可以檢視該資訊,我們是在從庫上檢視
[root@Centos]# cat /www/server/data/xtrabackup_binlog_info
mysql-bin.000010 301846
複製程式碼
2、配置從庫 主從配置 (注意3306埠的開放) #登入從庫並執行
mysql> change master to master_host='192.168.2.198', master_user='root', master_password='51562e6f6d044223', master_port=3306, master_log_file='mysql-bin.000010' , master_log_pos=301846, master_connect_retry=30;
複製程式碼
3、開始同步
mysql> start slave;
複製程式碼
4、檢視同步狀態
mysql> show slave status;
複製程式碼
當Slave_IO_Running 與 Slave_SQL_Running 兩項都為Yes時,代表主從配置成功。