mysqldump 备份鉴于其自身的某些特性(锁表,本质上备份出来insert脚本或者文本,不支持差异备份),不太适合对实时性要求比较高的情况
Xtrabackup可以解决mysqldump存在的上述的一些问题,生产环境应用的也会更多一些。
本文简单测试一下Xtrabackup对MySQL数据库的备份还原操作。

本着先把功能先撸起来再深入细节的原则,粗略地实现了一个备份还原,并未深入细节。
网上有不少xtrabackup的文章,因为环境不一样,有些需要配置xtrabackup的配置文件,
但是我在xtrabackup 2.4.7版本下测试就需要需求任何配置文件。可能是每个版本都的细节上都不一样,因此参考资料的时候要注意版本和环境。
innobackupex 备份
xtrabackup和MySQL的版本如下
完整备份
复制代码 代码如下:innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --socket=/var/lib/mysql/mysql.sock /data/backup
说明:
1.--defaults-file=/etc/my.cnf文件必须在最前面
2.--user=root --password=root,--use=***与 --password=*** 中间一定要有空格,
如截图,完整备份完成
如截图,完整备份会创建一个日期(年月日时分秒,yyyy-MM-dd_hh-mm-ss)命名的文件
完整备份出来的内存,实际上是对所备份的数据库的数据文件的copy加上备份时候产生的一些信息,比如xtrabackup_checkpoints就是当前完整备份的一些个信息,这个信息对差异备份非常重要。
差异备份
差异备份之所以能够做到差异,就是依赖于完整备份的,在完整备份的基础上进行完整备份之后的差异的备份。
而如何确定完整的备份之后备份到哪里,就依赖于完整备份之后的xtrabackup_checkpoints这个文件的。
innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --socket=/var/lib/mysql/mysql.sock --incremental /data/backup --incremental-basedir=/data/backup/2017-06-22_13-40-29
如截图,差异备份完成
如果在进行差异备份的时候,指定的完整备份的文件错误或者是未指定完整备份文件,会发现xtrabackup提示找不到xtrabackup_checkpoints这个文件。
innobackupex 还原
准备阶段
1、恢复完整备份,也即完整备份应用(--apply-log)日志
innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only --socket=/var/lib/mysql/mysql.sock /data/backup/2017-06-22_13-40-29
2、分别将增量备份应用到完整备份
innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only --socket=/var/lib/mysql/mysql.sock --incremental /data/backup/2017-06-22_13-40-29 --incremental-basedir=/data/backup/2017-06-22_13-41-48
如果有多个差异备份,分别应用差异备份到完整备份。
恢复阶段
1、完成差异备份的全部应用到完整备份之后,将恢复后的差异备份copy到原数据目录
默认情况下,如果数据路径下存在文件,则copy失败,需要清空数据文件路径下的文件。
innobackupex --copy-back /data/backup/2017-06-22_13-40-29
如截图,完成copy-back
2、启动MySQL服务
启动mysql服务,发现启动失败
看一下错误日志(启动错误信息),mysql5.7yum安装默认的errorlog位于/var/log/mysqld.log中,且默认不会滚动,意味着所有的错误信息都记录在这个文件中。
数据文件还原之后,需要读数据文件路径授予可读写的权限
这里直接授权数据文件路径777,chmod -R 777 /var/lib/mysql
然后启动mysql服务,可以正常启动。
xtrabackupex才刚刚开始,留下一大堆问题,有时间再一个一个验证。
1、怎么实现单个库(表)的备份与还原,毕竟实际环境中,因为每个库备份的频率和方式(备份方案)是不一样的?
2、怎么用全备+差异备份然后结合二进制日志做基于时间点的方式还原?
3、如何验证备份文件的有效性?
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# xtrabackup
# mysql
# 备份还原
# 安装使用Percona XtraBackup来备份恢复MySQL的教程
# MySQL中使用innobackupex、xtrabackup进行大数据的备份和还原教程
# 利用Xtrabackup工具备份及恢复(MySQL DBA的必备工具)
# 编写脚本令Xtrabackup对MySQL数据进行备份的教程
# mysql中xtrabackup全量备份/增量备份及恢复
# mysql xtrabackup 备份恢复实现分享
# MySQL数据xtrabackup物理备份的方式
# MySQL xtrabackup 物理备份原理解析
# 使用xtrabackup实现mysql备份
# MySQL使用Xtrabackup备份流程详解
# MySQL物理备份之Percona XtraBackup的实现示例
# 错误信息
# 配置文件
# 备份文件
# 我在
# 也会
# 在这个
# 多个
# 不太
# 基础上
# 找不到
# 较高
# 依赖于
# 要注意
# 或者是
# 不支持
# 刚开始
# 非常重要
# 看一下
# 上都
# 先把
相关文章:
如何通过FTP空间快速搭建安全高效网站?
海南网站制作公司有哪些,海口网是哪家的?
湖北网站制作公司有哪些,湖北清能集团官网?
如何登录建站主机?访问步骤全解析
c# 在ASP.NET Core中管理和取消后台任务
如何在云主机上快速搭建网站?
Thinkphp 中 distinct 的用法解析
,购物网站怎么盈利呢?
香港服务器WordPress建站指南:SEO优化与高效部署策略
5种Android数据存储方式汇总
安云自助建站系统如何快速提升SEO排名?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何通过NAT技术实现内网高效建站?
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
如何在服务器上三步完成建站并提升流量?
定制建站哪家更专业可靠?推荐榜单揭晓
专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何快速生成橙子建站落地页链接?
建站之星导航菜单设置与功能模块配置全攻略
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
行程制作网站有哪些,第三方机票电子行程单怎么开?
建站之星后台密码遗忘?如何快速找回?
如何在局域网内绑定自建网站域名?
C++中引用和指针有什么区别?(代码说明)
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
子杰智能建站系统|零代码开发与AI生成SEO优化指南
潮流网站制作头像软件下载,适合母子的网名有哪些?
如何选择PHP开源工具快速搭建网站?
兔展官网 在线制作,怎样制作微信请帖?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
如何在云主机快速搭建网站站点?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
建站之星代理费用多少?最新价格详情介绍
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
如何选购建站域名与空间?自助平台全解析
如何使用Golang安装API文档生成工具_快速生成接口文档
公众号网站制作网页,微信公众号怎么制作?
建站为何优先选择香港服务器?
黑客如何通过漏洞一步步攻陷网站服务器?
建站主机类型有哪些?如何正确选型
无锡营销型网站制作公司,无锡网选车牌流程?
简历在线制作网站免费版,如何创建个人简历?
在线制作视频的网站有哪些,电脑如何制作视频短片?
制作销售网站教学视频,销售网站有哪些?
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
建站之星微信建站一键生成小程序+多端营销系统
Python lxml的etree和ElementTree有什么区别
如何快速生成专业多端适配建站电话?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
*请认真填写需求信息,我们会在24小时内与您取得联系。