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