搜索
首页数据库mysql教程xtrabackup备份还原MySQL数据库

xtrabackup备份还原MySQL数据库

Jun 23, 2017 am 11:07 AM
mysqlxtrabackup备份数据库还原

 

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数据库的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
MySQL的位置:数据库和编程MySQL的位置:数据库和编程Apr 13, 2025 am 12:18 AM

MySQL在数据库和编程中的地位非常重要,它是一个开源的关系型数据库管理系统,广泛应用于各种应用场景。1)MySQL提供高效的数据存储、组织和检索功能,支持Web、移动和企业级系统。2)它使用客户端-服务器架构,支持多种存储引擎和索引优化。3)基本用法包括创建表和插入数据,高级用法涉及多表JOIN和复杂查询。4)常见问题如SQL语法错误和性能问题可以通过EXPLAIN命令和慢查询日志调试。5)性能优化方法包括合理使用索引、优化查询和使用缓存,最佳实践包括使用事务和PreparedStatemen

MySQL:从小型企业到大型企业MySQL:从小型企业到大型企业Apr 13, 2025 am 12:17 AM

MySQL适合小型和大型企业。1)小型企业可使用MySQL进行基本数据管理,如存储客户信息。2)大型企业可利用MySQL处理海量数据和复杂业务逻辑,优化查询性能和事务处理。

幻影是什么读取的,InnoDB如何阻止它们(下一个键锁定)?幻影是什么读取的,InnoDB如何阻止它们(下一个键锁定)?Apr 13, 2025 am 12:16 AM

InnoDB通过Next-KeyLocking机制有效防止幻读。1)Next-KeyLocking结合行锁和间隙锁,锁定记录及其间隙,防止新记录插入。2)在实际应用中,通过优化查询和调整隔离级别,可以减少锁竞争,提高并发性能。

mysql:不是编程语言,而是...mysql:不是编程语言,而是...Apr 13, 2025 am 12:03 AM

MySQL不是一门编程语言,但其查询语言SQL具备编程语言的特性:1.SQL支持条件判断、循环和变量操作;2.通过存储过程、触发器和函数,用户可以在数据库中执行复杂逻辑操作。

MySQL:世界上最受欢迎的数据库的简介MySQL:世界上最受欢迎的数据库的简介Apr 12, 2025 am 12:18 AM

MySQL是一种开源的关系型数据库管理系统,主要用于快速、可靠地存储和检索数据。其工作原理包括客户端请求、查询解析、执行查询和返回结果。使用示例包括创建表、插入和查询数据,以及高级功能如JOIN操作。常见错误涉及SQL语法、数据类型和权限问题,优化建议包括使用索引、优化查询和分表分区。

MySQL的重要性:数据存储和管理MySQL的重要性:数据存储和管理Apr 12, 2025 am 12:18 AM

MySQL是一个开源的关系型数据库管理系统,适用于数据存储、管理、查询和安全。1.它支持多种操作系统,广泛应用于Web应用等领域。2.通过客户端-服务器架构和不同存储引擎,MySQL高效处理数据。3.基本用法包括创建数据库和表,插入、查询和更新数据。4.高级用法涉及复杂查询和存储过程。5.常见错误可通过EXPLAIN语句调试。6.性能优化包括合理使用索引和优化查询语句。

为什么要使用mysql?利益和优势为什么要使用mysql?利益和优势Apr 12, 2025 am 12:17 AM

选择MySQL的原因是其性能、可靠性、易用性和社区支持。1.MySQL提供高效的数据存储和检索功能,支持多种数据类型和高级查询操作。2.采用客户端-服务器架构和多种存储引擎,支持事务和查询优化。3.易于使用,支持多种操作系统和编程语言。4.拥有强大的社区支持,提供丰富的资源和解决方案。

描述InnoDB锁定机制(共享锁,独家锁,意向锁,记录锁,间隙锁,下一键锁)。描述InnoDB锁定机制(共享锁,独家锁,意向锁,记录锁,间隙锁,下一键锁)。Apr 12, 2025 am 12:16 AM

InnoDB的锁机制包括共享锁、排他锁、意向锁、记录锁、间隙锁和下一个键锁。1.共享锁允许事务读取数据而不阻止其他事务读取。2.排他锁阻止其他事务读取和修改数据。3.意向锁优化锁效率。4.记录锁锁定索引记录。5.间隙锁锁定索引记录间隙。6.下一个键锁是记录锁和间隙锁的组合,确保数据一致性。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。