Centos 7 系統Mysql 數據庫主從同步 之 數據庫備份與配置

1、使用Xtrabackup 全備主庫數據

創建一個備份存貯目錄(要與數據的大小相同或者比較大)

[root@servicel06 sumscope]# mkdir /opt/sumscope/backup -p
[root@servicel06 sumscope]# innobackupex --defaults-file=/etc/my.cnf --user=root  --parallel=2 --throttle=200 --backup /opt/sumscope/backup --socket /tmp/mysql.sock
[root@servicel06 sumscope]# 

–defaults-file=/etc/my.cnf 爲mysql的配置文件my.cnf

2、把主庫的全備數據拷貝到從庫

[root@servicel06 sumscope]# scp  -r backup [email protected]:/opt/sumscope/

3、停止從庫mysql,並移除數據庫目錄,然後創建一個新的數據庫目錄

data 目錄爲mysql的數據目錄,一般路徑配置在 my.cnf 中的datadir 參數中
[root@servicel06 sumscope]# service mysqld stop
[root@servicel06 sumscope]# mv /opt/sumscope/mysql/data /opt/sumscope/mysql/data_bak
[root@servicel06 sumscope]# mkdir /opt/sumscope/mysql/data -p
[root@servicel06 sumscope]# 

4、在從庫中,把拷貝過來的全備數據文件 重新提交一下事務。

[root@servicel06 sumscope]# innobackupex --defaults-file=/etc/my.cnf  --user=root --socket=/tmp/mysql.sock  --datadir=/opt/sumscope/mysql/data/ --apply-log  --redo-only /opt/sumscope/backup/2019-11-08_09-14-39/
[root@servicel06 sumscope]#
--datadir                             			#從庫的MySQL數據目錄
/opt/sumscope/backup/2019-11-08_09-14-39/         #主庫拷貝過來的全備文件

5、事務提交後,把全備文件內的數據恢復到從庫的mysql 數據目錄,即 datadir=/opt/sumscope/mysql/data/

[root@servicel06 sumscope]# innobackupex --defaults-file=/etc/my.cnf  --user=root --socket=/tmp/mysql.sock  --datadir=/opt/sumscope/mysql/data/ --copy-back /opt/sumscope/backup/2019-11-08_09-14-39/
[root@servicel06 sumscope]# 

6、授權從庫的/opt/sumscope/mysql/data/目錄,並啓動mysql

[root@servicel06 sumscope]# chown mysql.mysql /opt/sumscope/mysql/data -R
[root@servicel06 sumscope]# service mysqld start
[root@servicel06 sumscope]# 

啓動後mysql,就可以看到主庫中的數據庫與表都已經在從庫中看到了。

7、通過全備目錄內的Xtrabackup_binlog_info 文件,可以找到主從位置點(在主從同步時使用)

[root@localhost 2019-11-08_09-14-39]# cat xtrabackup_binlog_info 
mysql-bin.000736        662217819
[root@localhost 2019-11-08_09-14-39]# 

https://blog.csdn.net/sinat_29214327/article/details/81517233

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章