当前位置: 首页 > news >正文

mysql实战——xtrabackup全量备份/增量备份及恢复

一、测试前准备

mysql数据库

端口3306
数据文件目录

/data/mysql/3306/data

安装目录/usr/lcoal/mysql
配置文件/etc/my.cnf

创建数据库

testXtra 

创建备份目录

备份目录/data/backup/
备份恢复数据文件目录/data/mysql/3307/data
备份恢复配置文件/etc/my_3307.cnf

 二、开始测试

1、全量备份数据库

命令:

xtrabackup --user=root --password=mysql --backup --parallel=10 --target-dir=/data/backup/full

2、全量备份恢复(先准备,再恢复)

(1)准备

xtrabackup --prepare --use-memory=2G --target-dir=/data/backup/full

(2)恢复

恢复的机器必须有my.cnf配置文件,再配置文件中配置好datadir目录即数据问目录,数据目录也必须为空,若不为空则会报错。

测试在本机恢复

vi my_3307.cnf

[client]
socket=/data/mysql/3307/data/mysql.sock

[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/3307/data
user=mysql
port=3307
socket=/data/mysql/3307/data/mysql.sock
log_error=/data/mysql/3307/data/mysqld.err
log_timestamps=system
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/data/mysql/3307/data/mysqld.err
pid-file=/data/mysql/3307/data/mysqld.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

恢复命令

 xtrabackup --defaults-file=/etc/my_3307.cnf --copy-back --parallel=10 --target-dir=/data/backup/full

(3)授权

 chown -R mysql.mysql /data/mysql/3307/data 

(4)启动数据库实例

mysqld_safe --defaults-file=/etc/my_3307.cnf & 

(5)grep mysql

(6)查看备份文件

三、增量备份

 1、先全量备份

xtrabackup --user=root --password=mysql --backup --target-dir=/data/backup/base

 2、全量备份之后增加些数据

3、第一次增量备份

增量备份需要获取全量备份的to_lsn。

(1)查看全量备份的to_lsn

 cd /data/backup/base

cat xtrabackup_checkpoints

如上图to_lsn=18374406

(2)第一次增量备份的命令

xtrabackup --user=root --password=mysql --backup --target-dir=/data/backup/inc4 --incremental-lsn=18374406

可以看到inc4是第一次增量备份生成的文件

(3)检查下备份文件是否有新增的数据文件

可以看到test2表空间 

4、第二次增量备份

(1)添加些数据

(2)查看第一次增量备份文件的to_lsn

(3)第二次增量备份的命令

xtrabackup --user=root --password=mysql --backup --target-dir=/data/backup/inc5 --incremental-lsn=18411278 

5、增量备份恢复步骤

(1) 全量备份准备

xtrabackup --prepare --apply-log-only --target-dir=/data/backup/base

(2)第一次增量备份准备

 xtrabackup --prepare --apply-log-only --target-dir=/data/backup/base --incremental-dir=/data/backup/inc4

 (3)第二次增量备份准备

xtrabackup --prepare --target-dir=/data/backup/base --incremental-dir=/data/backup/inc5

(4)修改配置文件

vi /etc/my_3307.cnf

[client]
socket=/data/mysql/3307/data/mysql.sock

[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/3307/data
user=mysql
port=3307
socket=/data/mysql/3307/data/mysql.sock
log_error=/data/mysql/3307/data/mysqld.err
log_timestamps=system
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/data/mysql/3307/data/mysqld.err
pid-file=/data/mysql/3307/data/mysqld.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

(5)恢复命令

xtrabackup --defaults-file=/etc/my_3307.cnf --copy-back --target-dir=/data/backup/base

(6)检查备份的数据文件 

可以看到第一次增量备份后新增的表空间被恢复了。

(7)启动备份的数据库实例

(8)grep mysql

(9)登录数据库实例

http://www.lryc.cn/news/355002.html

相关文章:

  • 探索演进:了解IPv4和IPv6之间的区别
  • Python 实现Word (DOC或DOCX)与TXT文本格式互转
  • anaconda install on CentOS 7
  • git管理Codeup云效平台
  • Pycharm最新安装教程(最新更新时间2024年5月27日)
  • 医院门诊互联电子病历|基于SSM+vue的医院门诊互联电子病历管理信息系统的设计与实现(源码+数据库+文档)
  • H3CNE-8-ARP工作原理
  • 上交提出TrustGAIN,提出6G网络中可信AIGC新模式!
  • 内存泄漏案例分享2-Fragment的内存泄漏
  • Selenium的百度高级搜索-自动化(未完成)
  • cs与msf权限传递,以及mimikatz抓取win2012明文密码
  • java欢迪迈手机商城设计与实现源码(springboot+vue+mysql)
  • 【FPGA】Verilog:2-bit 二进制比较器的实现(2-bit binary comparator)
  • RPA(机器人流程自动化)技术解读
  • Qt | QTabBar 类(选项卡栏)
  • 基于Pytorch框架的深度学习ShufflenetV2神经网络十七种猴子动物识别分类系统源码
  • Leetcode260
  • Webpack性能调优:从加载器到插件的全面优化
  • cin-getline缓存区
  • 牛客前端面试高频八股总结(1)(附文档)
  • 韦专家:广告投放方式和内容运营底层方法论逻辑上有什么关系?
  • 003 ++ --
  • DDR、LPDDR和GDDR的区别
  • 【附代码】@hydra.main 没有返回值,如何解决函数返回?
  • js深入理解对象的 属性(properties)的特殊 特性(attributes)
  • 【MATLAB】去除趋势项(解决频谱图大部分为零的问题)
  • jmeter发送webserver请求和上传请求
  • 如何看centos 有没有安装x11
  • 超详细的前后端实战项目(Spring系列加上vue3)前后端篇(四)(一步步实现+源码)
  • 决策树|随机森林 GBDT XGBoost|集成学习