1、使用Xtrabackup 全备主库数据
创建一个备份存贮目录(要与数据的大小相同或者比较大)
[root@servicel06 donghua]# mkdir /opt/donghua/backup -p
[root@servicel06 donghua]# innobackupex --defaults-file=/etc/my.cnf --user=root --parallel=2 --throttle=200 --backup /opt/donghua/backup --socket /tmp/mysql.sock
[root@servicel06 donghua]#
–defaults-file=/etc/my.cnf 为mysql的配置文件my.cnf
【备注:】
自己写的脚本文件(主数据库172.16.97.137)backup.sh
#!/bin/bash
#innobackupex --defaults-file=/opt/donghua2/mysql/my.cnf --user=root --parallel=2 --throttle=200 --backup /opt/donghua/backup --socket /tmp/mysql.sock &
#sshpass -p "donghua" scp -r backup donghua@172.16.97.151:/opt/donghua/ &
#sshpass -p "donghua" scp -r backup donghua@172.16.97.161:/opt/donghua/ &
sshpass -p "artogrid" scp -r backup artogrid@172.16.138.32:/opt/donghua/ &
2、把主库的全备数据拷贝到从库
[root@servicel06 donghua]# scp -r backup donghua@172.16.97.151:/opt/donghua/
3、停止从库mysql,并移除数据库目录,然后创建一个新的数据库目录
data 目录为mysql的数据目录,一般路径配置在 my.cnf 中的datadir 参数中
[root@servicel06 donghua]# service mysqld stop
[root@servicel06 donghua]# mv /opt/donghua/mysql/data /opt/donghua/mysql/data_bak
[root@servicel06 donghua]# mkdir /opt/donghua/mysql/data -p
[root@servicel06 donghua]#
4、在从库中,把拷贝过来的全备数据文件 重新提交一下事务。
[root@servicel06 donghua]# innobackupex --defaults-file=/etc/my.cnf --user=root --socket=/tmp/mysql.sock --datadir=/opt/donghua/mysql/data/ --apply-log --redo-only /opt/donghua/backup/2019-11-08_09-14-39/
[root@servicel06 donghua]#
--datadir #从库的MySQL数据目录
/opt/donghua/backup/2019-11-08_09-14-39/ #主库拷贝过来的全备文件
【备注:】
自己写的脚本文件(从库172.16.97.161)backup.sh
#!/bin/bash
mv /opt/donghua/mysql/data /opt/donghua/mysql/data_bak
mkdir /opt/donghua/mysql/data -p
innobackupex --defaults-file=/etc/my.cnf --user=root --socket=/tmp/mysql.sock --datadir=/opt/donghua/mysql/data/ --apply-log --redo-only /opt/donghua/backup/2019-12-23_10-31-09/
innobackupex --defaults-file=/etc/my.cnf --user=root --socket=/tmp/mysql.sock --datadir=/opt/donghua/mysql/data/ --copy-back /opt/donghua/backup/2019-12-23_10-31-09/
chown mysql.mysql /opt/donghua/mysql/data -R
service mysqld start
5、事务提交后,把全备文件内的数据恢复到从库的mysql 数据目录,即 datadir=/opt/donghua/mysql/data/
[root@servicel06 donghua]# innobackupex --defaults-file=/etc/my.cnf --user=root --socket=/tmp/mysql.sock --datadir=/opt/donghua/mysql/data/ --copy-back /opt/donghua/backup/2019-11-08_09-14-39/
[root@servicel06 donghua]#
6、授权从库的/opt/donghua/mysql/data/目录,并启动mysql
[root@servicel06 donghua]# chown mysql.mysql /opt/donghua/mysql/data -R
[root@servicel06 donghua]# service mysqld start
[root@servicel06 donghua]#
启动后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