MySQL主从断裂之备份恢复(xtrabackup)
场景:10.222.0.1主库,10.222.0.2从库,现需要恢复从库数据并和主库建立关系
1、首先在主库中获取数据
注意:如果主库数据库不是很大就不用压缩,如果很大就需要压缩。
安装完xtrabackup后在bin下执行
./innobackupex --defaults-file=/etc/my.cnf --user=root --password='密码' --compress --compress-threads=4 --parallel=4 --rsync /data/backup/20210831 > /tmp/aa.log 2>&1
(参数解释:--defaults-file=/etc/my.cnf 根据这个去分配执行;--compress 压缩;--compress-threads=4 压缩4个线程;)
2、scp -P 777 -r 2021-08-31_18-27-38/ root@10.222.0.2:/data/backup
3、/soft/percona-xtrabackup-2.4.12-Linux-x86_64/bin/xtrabackup --decompress --remove-original --parallel=4 --target-dir=/data/backup/20210831 > /tmp/bb.log 2>&1
(解压的服务器是需要安装qpress,并cp qpress /usr/bin)
4、停库 (删除之前/data/下的数据)切记在删除之前先要在从库看下repl用户的密码
5、./innobackupex --defaults-file=/etc/my.cnf --user=root --apply-log /backup/xtrafile/20210831/2021-08-31_20-00-05/
6、./innobackupex --defaults-file=/etc/my.cnf --user=root --copy-back /backup/xtrafile/20210831/2021-08-31_20-00-05/
7、修改新数据目录下所有文件的属主
8、启库
9、重新建立主从关系
如果是gtid的方式
首先在从库reset master
set @@global.gtid_purged='2dce5d7a-1ae8-11ea-bcab-069cb600d5e8:1-63578';(gtid号在xtrabackup.info文件里) 最后再change master to master_host='10.222.0.1',master_port=13306,master_user='repl',master_password='密码',master_auto_position=1;
start slave;
如果是一般复制
change master to master_host='10.222.0.1',master_port=13306,master_user='repl',master_password='密码',master_log_file='binlog.000039',master_log_pos=314547231;
start slave;
至此,主从关系就恢复了
浙公网安备 33010602011771号