ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

利用xtrabackup8完全,增量备份及还原MySQL8

2022-09-09 14:04:30  阅读:274  来源: 互联网

标签:MySQL8 backup 备份 data -- base mysql xtrabackup8 root


利用xtrabackup8完全,增量备份及还原MySQL8

1、环境准备
服务器 作用 数据库版本 xtrabackup版本
10.0.0.8 数据备份 mysql8.0.26 8.0.28
10.0.0.18 数据还原 mysql8.0.26 8.0.28
2、备份
[root@rocky8 ~]# ls
anaconda-ks.cfg  percona-xtrabackup-80-8.0.28-20.1.el8.x86_64.rpm
[root@rocky8 ~]# yum install -y percona-xtrabackup-80-8.0.28-20.1.el8.x86_64.rpm
[root@rocky8 ~]# mkdir /data/backup
[root@rocky8 ~]# systemctl start mysqld.service 
[root@rocky8 ~]# xtrabackup --backup --target-dir=/data/backup/base    #完全备份
[root@rocky8 ~]# rz hellodb_innodb.sql
[root@rocky8 ~]# mysql < hellodb_innodb.sql     #修改数据
[root@rocky8 ~]# mysql
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| hellodb            |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
mysql> insert students(name,age)values('wang',20);    #修改数据

[root@rocky8 ~]# xtrabackup --backup --target-dir=/data/backup/inc1 --incremental-basedir=/data/backup/base                      #第一次增量备份
[root@rocky8 ~]# mysql
mysql> insert students(name,age)values('jack',22);   #第二次修改数据

[root@rocky8 ~]# xtrabackup --backup --target-dir=/data/backup/inc2 --incremental-basedir=/data/backup/inc1                      #第二次增量备份

[root@rocky8 ~]# du -sh /data/backup/*         #观察目录文件的大小
70M	/data/backup/base
4.9M	/data/backup/inc1
2.0M	/data/backup/inc2

[root@rocky8 ~]# scp -r /data/backup/* root@10.0.0.28:/data/backup/     #拷贝到远程主机


[root@rocky ~]# cd /data/backup     #远程主机查看拷贝过来生成的三个文件
[root@rocky backup]# ls
base  inc1  inc2

3、还原
# 还原机操作:
[root@rocky ~]# yum install -y percona-xtrabackup-80-8.0.28-20.1.el8.x86_64.rpm

##预准备完成备份,此选项--apply-log-only 阻止回滚未完成的事务
[root@rocky ~]# xtrabackup --prepare --apply-log-only --target-dir=/data/backup/base    

#合并第1次增量备份到完全备份
[root@rocky ~]# xtrabackup --prepare --apply-log-only --target-dir=/data/backup/base --incremental-dir=/data/backup/inc1

######## 合并第2次增量备份到完全备份:最后一次还原不需要加选项--apply-log-only     #########
[root@rocky ~]# xtrabackup --prepare --target-dir=/data/backup/base --incremental-dir=/data/backup/inc2


[root@rocky ~]# systemctl stop mysqld

[root@rocky ~]# cd /data/backup/base/ 
[root@rocky base]# xtrabackup --copy-back --target-dir=/data/backup/base    #执行这一步需要进入到备份目录下,也就是base目录下,要不然会报找不到备份文件  #或者执行下面操作也可以

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@centos ~]#cp -r /backup/base/* /var/lib/mysql     #执行了上边命令就不用执行这一步
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[root@rocky base]# chown -R mysql. /var/lib/mysql

[root@rocky base]# systemctl start mysqld.service

#验证
[root@rocky ~]# mysql
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| hellodb            |

mysql> use hellodb
mysql> select * from students;
|    26 | wang          |  20 | F      |    NULL |      NULL |
|    27 | jack          |  22 | F      |    NULL |      NULL |

标签:MySQL8,backup,备份,data,--,base,mysql,xtrabackup8,root
来源: https://www.cnblogs.com/wdy001/p/16672603.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有