日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

XtraBackup做mysql主从同步

發布時間:2025/5/22 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XtraBackup做mysql主从同步 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、背景:

線上一個主庫壓力比較大,所以增加一個從庫,但是不能重啟或者停止主庫的正常運行,不能鎖庫鎖表影響業務的正常運行。所以這里想到了XtraBackup

二、XtraBackup介紹:

Xtrabackup的優點: 1、備份完成快速、可靠 2、備份期間不間斷的事務處理 3、節省磁盤空間和網絡帶寬 4、自動備份驗證 5、提高正常運行時間由于更快的恢復時間 備份INNODB引擎的數據庫不會鎖庫鎖表,但是備份MyISAM的表還是會鎖的,還支持增量備份。
官方地址: https://www.percona.com/

三、環境說明

系統版本:CentOS Linux release 7.0.1406 (Core)? 內核版本:3.10.0-123.9.3.el7.x86_64 ?mysql版本:5.6.26 xtrabackup版本:percona-xtrabackup-2.2.9-5067.el7.x86_64.rpm

四、安裝XtraBackup

安裝在主庫上 建議大家使用rpm方式安裝,網上很多文檔都是編譯安裝,編譯安裝費時費力,我這次做主從剛開始使用編譯安裝,發現編譯時服務器資源被耗盡都無法ssh,導致服務器無法處理請求。所以最后選擇了rpm方式安裝,這種方式安裝非常快。 # yum install perl-Time-HiRes # yum install perl-DBD-MySQL -y # yum install perl-Digest-MD5 -y # wget https://www.percona.com/downloads/XtraBackup/XtraBackup-2.2.9/binary/redhat/7/x86_64/percona-xtrabackup-2.2.9-5067.el7.x86_64.rpm# rpm -ivh percona-xtrabackup-2.2.9-5067.el7.x86_64.rpm

五、主庫主從配置

1.主庫配置/etc/my.cnf

增加server-id 和 bin-log # vim /etc/my.cnf server-id = 128 log-bin = mysql-bin

2.主庫配置授權賬號

mysql> grant replication slave on *.* to rep@'192.168.199.183' identified by '123'; mysql> flush privileges;

3.手動設置主庫server-id和log-bin 參數

set global server_id=128 因為這兩個參數是動態參數,不用重啟主庫也可以生效 如果你的主庫已經設置這兩個參數,請忽略這一步操作

六、從庫主從配置

從庫安裝步驟略

1.從庫配置/etc/my.cnf

增加server-id 和 bin-log # vim /etc/my.cnf server-id = 129 #如果需要在從庫上做bin-log備份可以添加如下參數 log-bin = mysql-bin log-slave-updates = 1 expire-logs-days=10

七、備份主庫數據

1.主庫機器上創建備份目錄

# mkdir -p /backup/full_data

2.執行全庫備份

2.1.備份

# innobackupex --defaults-file=/etc/my.cnf --user=root --password=123 --socket=/tmp/mysql.sock /data/backup/full_data PS:備份完成后,會在/backup/full_data/目錄下生成一個時間點的目錄,這里是2016-07-14_05-19-52。你也可以加一個--no-timestamp參數不產生這個目錄,直接備份到/backup/full_data/目錄下

2.2.重放redo log

#下面preparing,undo撤銷未提交的事務,重放redo log # innobackupex --defaults-file=/etc/my.cnf --user=root --password=123 --apply-log --socket=/tmp/mysql.sock /data/backup/full_data/2016-07-14_05-19-52

ps:1、ls -l ?/data/backup/full_data/2016-07-14_05-19-52/查看,你發現xtrabackup會把你數據庫datadir下的所有數據 文件都復制過來還新增了5個xtrabackup_開頭的文件,我們關心的是xtrabackup_binlog_info這個文件,因為這個文件里面記 錄了你做從庫需要change到主庫的binlog的位置和pos點

?

2、如果只想備份一個庫,加“--include=navy”指定庫名即可, “--databases=navy”不好使。

八、恢復數據到從庫

1.停止從庫

# /etc/init.d/mysqld stop

2.把主庫備份文件拷貝到從庫機器

# scp -ap /data/backup/full_data/2016-07-14_05-19-52 root@192.168.11.129:/data/mysql/

3.修改恢復文件權限

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

4.啟動數據庫

# /etc/init.d/mysqld start

5.確認數據是否恢復成功

登錄從庫,執行show databases;

6.確認同步的位置點

在從庫上或者主庫上都可以查看該信息,我們是在從庫上查看

# cat /data/mysql/xtrabackup_binlog_info mysql-bin.000016 4542174

九、開始主從同步

1.配置從庫 主從配置?

#登錄從庫并執行

mysql > CHANGE MASTER TO MASTER_HOST='192.168.199.182',MASTER_USER='rep', MASTER_PASSWORD='123',MASTER_LOG_FILE='mysql-bin.000016', MASTER_LOG_POS=4542174;

2.開始同步

mysql> start slave;

3.查看同步狀態

mysql> show slave status\G

?



轉載于:https://www.cnblogs.com/pangguoping/p/5746087.html

總結

以上是生活随笔為你收集整理的XtraBackup做mysql主从同步的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。