我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql中xtrabackup全量备份/增量备份及恢复

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql中xtrabackup全量备份/增量备份及恢复

一、测试前准备

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

mysql中xtrabackup全量备份/增量备份及恢复

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

(1)准备

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

mysql中xtrabackup全量备份/增量备份及恢复

mysql中xtrabackup全量备份/增量备份及恢复

(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

mysql中xtrabackup全量备份/增量备份及恢复

mysql中xtrabackup全量备份/增量备份及恢复

mysql中xtrabackup全量备份/增量备份及恢复

(3)授权

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

(4)启动数据库实例

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

mysql中xtrabackup全量备份/增量备份及恢复

(5)grep mysql

mysql中xtrabackup全量备份/增量备份及恢复

(6)查看备份文件

mysql中xtrabackup全量备份/增量备份及恢复

三、增量备份

 1、先全量备份

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

mysql中xtrabackup全量备份/增量备份及恢复

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

mysql中xtrabackup全量备份/增量备份及恢复

3、第一次增量备份

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

(1)查看全量备份的to_lsn

 cd /data/backup/base

cat xtrabackup_checkpoints

mysql中xtrabackup全量备份/增量备份及恢复

如上图to_lsn=18374406

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

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

mysql中xtrabackup全量备份/增量备份及恢复

mysql中xtrabackup全量备份/增量备份及恢复

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

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

mysql中xtrabackup全量备份/增量备份及恢复

可以看到test2表空间 

4、第二次增量备份

(1)添加些数据

mysql中xtrabackup全量备份/增量备份及恢复

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

mysql中xtrabackup全量备份/增量备份及恢复

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

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

mysql中xtrabackup全量备份/增量备份及恢复

5、增量备份恢复步骤

(1) 全量备份准备

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

mysql中xtrabackup全量备份/增量备份及恢复

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

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

mysql中xtrabackup全量备份/增量备份及恢复

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

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

mysql中xtrabackup全量备份/增量备份及恢复

(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)检查备份的数据文件 

mysql中xtrabackup全量备份/增量备份及恢复

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

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

mysql中xtrabackup全量备份/增量备份及恢复

(8)grep mysql

mysql中xtrabackup全量备份/增量备份及恢复

(9)登录数据库实例

mysql中xtrabackup全量备份/增量备份及恢复

到此这篇关于mysql中xtrabackup全量备份/增量备份及恢复的文章就介绍到这了,更多相关mysql xtrabackup全量备份/增量备份内容请搜索编程客栈(www.lsjlt.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网(www.lsjlt.com)!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql中xtrabackup全量备份/增量备份及恢复

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql中xtrabackup全量备份/增量备份及恢复

目录一、测试前准备mysql数据库创建数据库创建备份目录 二、开始测试1、全量备份数据库2、全量备份恢复(先准备,再恢复)三、增量备份 1、先全量备份 2、全量备份之后增加些数据3、第一次增量备份(1)查看全量备份的to_lsn(2)第一次
mysql中xtrabackup全量备份/增量备份及恢复
2024-09-15

MySQL定时备份(全量备份+增量备份)

参考 zmcyu 的 mysql数据库的完整备份、差异备份、增量备份 更多binlog的学习参考马丁传奇的 MySQL的binlog日志,这篇文章写得认真详细,如果看的认真的话,肯定能学的很好的。 如果查看binlog是出现语句加密的情况,参考 mysql r
MySQL定时备份(全量备份+增量备份)
2016-10-03

MySQL数据库全量、增量备份与恢复

造成数据丢失的原因 程序错误 人为商店 计算机失败 磁盘失败 灾难(如火山、地震)和偷窃 数据库备份的分类 从物理与逻辑的角度,备份可分为: 物理备份:对数据库操作系统的物理文件(如数据文件、日志文件等)的备份 物理备份又可以分为脱机备份(冷
MySQL数据库全量、增量备份与恢复
2015-05-05

编程热搜

目录