Xtrabackup备份过程

(一)确认MySQL数据库版本:

MySQL-8.0.32

(二)xtrabackup版本

percona-xtrabackup-8.0.34-29-Linux-x86_64.glibc2.17-minimal.tar.gz

建议去官网下载Software Downloads - Percona

(三)xtrabackup的安装

    1)上传安装包至/data目录。

    2)解压安装包。

tar -zxf percona-xtrabackup-8.0.34-29-Linux-x86_64.glibc2.17-minimal.tar.gz

   3)设置主机xtrabackup环境变量:

echo "export PATH=$PATH:/data/percona-xtrabackup-8.0.34-29-Linux-x86_64.glibc2.17-minimal/bin">> /etc/profile

source /etc/profile

    4) 设置xtrabackup软连接

ln -s /data/percona-xtrabackup-8.0.34-29-Linux-x86_64.glibc2.17-minimal/bin/xtrabackup /usr/bin/xtrabackup

(四)以3316端口实例描述备份恢复的过程

     1)3316端口的备份

A:先在3316端口实例对创建的用户实例赋予备份的权限

mysql -S /data/mysql/mysqldata3316/sock/mysql.sock

--创建用户

create user 'user'@'%' identified with mysql_native_password by 'password';

--授权

grant replication slave on *.* to "user"@'%';

grant replication client on *.* to "user"@'%';

grant reload on *.* to "user"@'%';

grant select on *.* to "user"@'%';

这一步主要是给用户授予权限

grant all privileges on *.* to "user"@'%';

-- 刷新特权

flush privileges;

-- 查看特权

show grants for user;

--创建好用户后可以登录验证

登录:mysql -uuser -ppassword -h127.0.0.1 -P3316

(五)建立备份

    1) 在/data/backup下面建立备份目录:

           mkdir -p /data/backup/back_3316

    2) 执行备份语句(压缩备份)

Nohup  xtrabackup --defaults-file=/etc/my.cnf --host=127.0.0.1 --user=user

--password=password --port=3316 --backup --apply-log-only=true --compress --compress-threads=5 --parallel=3 --target-dir=/data/backup/back_3316 >>  /data/backup/back_3316/log/3316.log &

这里要注意要有相应的软件包否则会执行失败,可以通过命令rpm -qa grep +软件名方式或者which + 软件名前缀方式查找

!注意:nohup是在后台跑的命令,(>>  /data/backup/back_3316/log/3316.log &)是将执行的日志写入3316日志中,方便查看

    3)备份完后停止备库的3316实例

mysqld_multi stop 3316

(六)拷贝备份到备主机

     1)通过scp命令拷贝到备机

  scp -r root@主机ip:/data/backup/back_3316 /data/backup/

     2)备份备主机的3316实例(如果备主机没有3316实例则可以不用备份)

      # cd  /data/mysql

      # mv mysqldata3316  /data/backup

     3)创建3316对应的文件夹

mkdir  -p /data/mysql/mysqldata3316/{binlog,innodb_log,innodb_ts,log,relaylog,sock,tmpdir}

     4)将主机上scp过来的back_3316文件夹移动到/data/mysql/mysqldata3316

          cd /data/backup/

         mv back_3316 /data/mysql/mysqldata3316/mydata

(七)解压备份文件,将解压后的文件移动到相应位置

         1)解压备份

xtrabackup --defaults-file=/etc/my.cnf --decompress --target-dir=/data/mysql/mysqldata3316/mydata

解压前记得同样安装好xtrackup软件,并下好相应的解压包(比如:zstd的解压包)或者直接去已有主机拷贝一份编译好的软件过来,一般都在usr/bin目录下,具体可以通过which +软件名查找,拷贝过来的需要授权(chmod +x  编译好的软件名)

2)应用relog日志

# xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/data/mysql/mysqldata3316/mydata

3)移动生成的文件至指定目录

mv /data/mysql/mysqldata3316/mydata/#innodb_redo /data/mysql/mysqldata3316/innodb_log

mv /data/mysql/mysqldata3316/mydata/ibdata1 /data/mysql/mysqldata3316/innodb_ts

mv /data/mysql/mysqldata3316/mydata/ibtmp1 /data/mysql/mysqldata3316/innodb_ts

touch /data/mysql/mysqldata3316/log/error.log

chown -R mysql.mysql /data/mysql/mysqldata3316

(八)启动备3316实例

1) 如果备主机之前就有3316实例就不需要改/etc/my.cny,但是如果备主机之前没有建立3316实例则需要在/etc/my.cny增加相关3316配置,比较简单的方法是直接把主库里的my.cnf复制过来即可,否则无法启动3316实例;

mysqld_multi start  3316

(九)登录备库3316实例并配置同步任务

          1)/usr/local/mysql/bin/mysql -S /data/mysql/mysqldata3316/sock/mysql.sock

            stop slave;

           reset replica all;

           reset master;

         2)查看备份 GTID 的复制位点:

           cat /data/mysql/mysqldata3316/mydata/xtrabackup_info

         3)设置gtid的复制位点

        set global gtid_purged='4169c7dc-a947-11ee-8c16-001c1032ad12:1-4269';

          4)设置备库到主库的复制关系

change replication source to source_host='主库ip',source_user='user',source_port=3316,source_password='password',    source_auto_position=1;

          start replica;

          show replica status\G

(十)主库(源库)配置向备库的复制关系

1) 登录3316

     /usr/local/mysql/bin/mysql -S /data/mysql/mysqldata3316/sock/mysql.sock

    stop slave

    reset replica all;

2)设置主库到备库的复制关系

    change replication source to source_hos'备库ip',source_user='user',source_port=3316,source_password='password',source_auto_position=1;

   start replica;

   show replica status\G

    ----- 有任何疑问欢迎留言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值