mysql数据备份之 xtrabackup
上一篇简单介绍了一下mysqldump进行数据库的备份和恢复,这一篇说一下另一种备份工具xtrabackup,在InnoDB事务引擎泛滥的时代,xtrabackup可以很好的支持数据库的热备份,这就很讨人喜,
Xtrabackup在epel源中有,所以直接用yum安装即可;
完全备份就是直接连接MySQL服务,给定一个目标目录即可;
[root@www ~]# innobackupex --user=root --host=localhost --port=3306 --password='123456' /data/mydata
181105 20:31:30 innobackupex: Starting the backup operation
IMPORTANT: Please check that the backup run completes successfully.
At the end of a successful backup run innobackupex
prints "completed OK!".
…
181105 20:31:39 Executing UNLOCK TABLES
181105 20:31:39 All tables unlocked
181105 20:31:39 Backup created in directory '/data/mydata/2018-11-05_20-31-30'
181105 20:31:39 [00] Writing backup-my.cnf
181105 20:31:39 [00] ...done
181105 20:31:39 [00] Writing xtrabackup_info
181105 20:31:39 [00] ...done
xtrabackup: Transaction log of lsn (9424992) to (9424992) was copied.
181105 20:31:39 completed OK!
然后我们就可以在备份的目录中看到几个文件
[root@www ~]# ls /data/mydata/2018-11-05_20-31-30/
backup-my.cnf ibdata1 performance_schema xtrabackup_checkpoints xtrabackup_logfile
hellodb mysql wpsdb xtrabackup_info zabbix
除了数据库之外,还有几个特殊的文件:
xtrabackup_binlog_info:记录了整个备份过程中的一些属性信息;
[root@www ~]# cd /data/mydata/2018-11-05_20-31-30/
[root@www 2018-11-05_20-31-30]# cat xtrabackup_info
uuid = 725248b0-da18-11e8-9fcc-000c29ceaa48
name =
tool_name = innobackupex
tool_command = --user=root --host=localhost --port=3306 --password=... /data/mydata
tool_version = 2.3.6
ibbackup_version = 2.3.6
server_version = 5.5.60-MariaDB
start_time = 2018-11-05 20:31:31
end_time = 2018-11-05 20:31:39
lock_time = 0
binlog_pos =
innodb_from_lsn = 0
innodb_to_lsn = 9424992
partial = N
incremental = N
format = file
compact = N
compressed = N
encrypted = N
backup-my.cnf:记录与InnoDB存储引擎相关的重要配置参数;
[root@www 2018-11-05_20-31-30]# cat backup-my.cnf
# This MySQL options file was generated by innobackupex.
# The MySQL server
[mysqld]
innodb_checksum_algorithm=innodb
innodb_log_checksum_algorithm=innodb
innodb_data_file_path=ibdata1:10M:autoextend
innodb_log_files_in_group=2
innodb_log_file_size=5242880
innodb_fast_checksum=false
innodb_page_size=16384
innodb_log_block_size=512
innodb_undo_directory=.
innodb_undo_tablespaces=0
xtrabackup_checkpoints:记录了此次的类型及起始和终止的LSN;
[root@www 2018-11-05_20-31-30]# cat xtrabackup_checkpoints
backup_type = full-backuped
fr
b62
om_lsn = 0
to_lsn = 9424992
last_lsn = 9424992
compact = 0
recover_binlog_info = 0
xtrabackup_binlog_info:记录当前使用的二进制日志的一致性坐标;
[root@www 2018-11-05_20-55-04]# cat xtrabackup_binlog_info
binlog.000001 245
完全备份的恢复(mysql的数据目录为空):
恢复数据的过程只需要添加一个--copy-back即可完成;
[root@www 2018-11-05_20-55-04]# innobackupex --copy-back ./
181105 20:59:30 innobackupex: Starting the copy-back operation
IMPORTANT: Please check that the copy-back run completes successfully.
At the end of a successful copy-back run innobackupex
prints "completed OK!".
增量备份:
相比于之前的完全备份,需要--incremental和--incremental-basedir两个选项即可;
[root@www ~]# innobackupex --incremental /data/mydata --incremental-basedir=/data/mydata/2018-11-05_20-31-30
181105 20:54:41 innobackupex: Starting the backup operation
IMPORTANT: Please check that the backup run completes successfully.
At the end of a successful backup run innobackupex
prints "completed OK!".
…
181105 20:55:14 Executing UNLOCK TABLES
181105 20:55:14 All tables unlocked
181105 20:55:14 Backup created in directory '/data/mydata/2018-11-05_20-55-04'
MySQL binlog position: filename 'binlog.000001', position '245'
181105 20:55:14 [00] Writing backup-my.cnf
181105 20:55:14 [00] ...done
181105 20:55:14 [00] Writing xtrabackup_info
181105 20:55:14 [00] ...done
xtrabackup: Transaction log of lsn (9424992) to (9424992) was copied.
181105 20:5
3eac
5:14 completed OK!
通过查看xtrabackup-checkpoints文件内容即可;
[root@www 2018-11-05_20-55-04]# cat xtrabackup_checkpoints
backup_type = incremental
from_lsn = 9424992
to_lsn = 9424992
last_lsn = 9424992
compact = 0
recover_binlog_info = 0
增量备份的恢复过程同上,也是一个--copy-back即可;
文章同步发布: https://www.geek-share.com/detail/2752423283.html
参考文章:
Xtrabackup实现MySQL备份
https://www.geek-share.com/detail/2736363201.html
mysql数据备份之 xtrabackup的更多相关文章
- MySQL数据备份概述
MySQL备份类型 热备份.温备份.冷备份 (根据服务器状态) 热备份:读.写不受影响: 温备份:仅可以执行读操作: 冷备份:离线备份:读.写操作均中止: 物理备份与逻辑备份 (从对象来分) 物理备份 ...
- MySQL自动备份实战--xtrabackup备份
MySQL数据备份企业实战.制作shell脚本 功能1:使用xtrabackup以每周为一个备份周期做备份(数据库+二进制日志,备份至本地/data/backup).提示: 周一某个时间点做一次完全备 ...
- 转 MySQL 数据备份与还原
MySQL 数据备份与还原 原贴:http://www.cnblogs.com/kissdodog/p/4174421.html 一.数据备份 1.使用mysqldump命令备份 mysqldum ...
- MySQL数据备份之mysqldump使用(转)
mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump ...
- SQL学习笔记六之MySQL数据备份和pymysql模块
mysql六:数据备份.pymysql模块 阅读目录 一 IDE工具介绍 二 MySQL数据备份 三 pymysql模块 一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测 ...
- MySQL数据备份与还原(mysqldump)
一 mysqldump指令实现数据备份.mysql指令实现数据还原 经常有朋友问我,DBA到底是做什么的,百科上说:数据库管理员(Database Administrator,简称DBA),是从事管理 ...
- MySQL 数据备份,Pymysql模块(Day47)
阅读目录 一.IDE工具介绍 二.MySQL数据备份 三.Pymysql模块 一.IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https:/ ...
- mysql 数据备份及pymysql模块
一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 掌握: #1. 测试+链接 ...
- MySQL 数据备份与还原的示例代码
MySQL 数据备份与还原的示例代码 这篇文章主要介绍了MySQL 数据备份与还原的相关知识,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 一.数据备份 1.使用 ...
随机推荐
- 如何基于String实现锁?
在某些时候,我们可能想基于字符串做一些事情,比如:针对同一用户的并发同步操作,使用锁字符串的方式实现比较合理.因为只有在相同字符串的情况下,并发操作才是不被允许的. 因为String 类型的变量赋值是 ...
- 译 .NET Core 3.0 发布
原文:<Announcing .NET Core 3.0> 宣布.NET Core 3.0 发布 很高兴宣布.NET Core 3.0的发布.它包括许多改进,包括添加Windows窗体和W ...
- SqlServer Left、Right、CharIndex函数
LEFT 函数:返回字符串中从左边开始指定个数字符 RIGT.H 函数:返回字符串从右边开始指定个数字符 len函数:LEN 函数返回文本字段中值的长度. CHARINDEX函数:CHARINDEX ...
- lcx端口转发
目录 0x01 正向端口转发 0x02 反向端口转发 0x03 msf正向shell 0x04 msf反向shell 注: 边界机器 win08 192.168.222.175 内网机器 win7 1 ...
- jsp 中include使用问题
如果在需要在jsp页面做页面包含时 会使用到include 指令 来进行页面包含操作 这里是页面的头部 文件名称是head.jsp <%@ page language="java&qu ...
- helm部署Filebeat + ELK
helm部署Filebeat + ELK 系统架构图: 1) 多个Filebeat在各个Node进行日志采集,然后上传至Logstash 2) 多个Logstash节点并行(负载均衡,不作为集群),对 ...
- 005-做题:使用 Python 生成 200 个激活码
题目:使用 Python 生成 200 个不重复的激活码 编写思路# 激活码一般是由26个大写字母和10个数字任意组合而成# 长度为12位或者16位的居多激活码# 一个激活码里的字符是可以重复的,而且 ...
- (七十九)c#Winform自定义控件-导航菜单
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...
- mysql配置默认字符集为UTF8mb4
[client] default-character-set=utf8mb4 [mysqld] character-set-server = utf8mb4 collation-server = ut ...
- golang的生产者消费者模型示例
package main import "fmt" func Producer(ch chan int) { for i := 1; i <= 10; i++ { ch &l ...