备份MySQL数据库


为什么需要备份数据数据的备份类型MySQL备份数据的方式备份需要考虑的问题设计合适的备份策略实战演练使用cp进行备份使用mysqldump+复制BINARY LOG备份使用lvm2快照备份数据使用Xtrabackup备份总结其实在前言中也大概说明了为什么要备份数据, 但是我们还是应该具体了解一下为什么要备份数据在生产环境中我们数据库可能会遭遇各种各样的不测从而导致数据丢失, 大概分为以下几种.硬件故障软件故障自然灾害******误操作 (占比最大)所以, 为了在数据丢失之后能够恢复数据, 我们就需要定期的备份数据, 备份数据的策略要根据不同的应用场景进行定制, 大致有几个参考数值, 我们可以根据这些数值从而定制符合特定环境中的数据备份策略能够容忍丢失多少数据恢复数据需要多长时间需要恢复哪一些数据数据的备份类型根据其自身的特性主要分为以下几组完全备份部分备份完全备份指的是备份整个数据集( 即整个数据库 )、部分备份指的是备份部分数据集(例如: 只备份一个表)而部分备份又分为以下两种增量备份差异备份增量备份指的是备份自上一次备份以来(增量或完全)以来变化的数据; 特点: 节约空间、还原麻烦
差异备份指的是备份自上一次完全备份以来变化的数据特点: 浪费空间、还原比增量备份简单示意图在MySQl中我们备份数据一般有几种方式热备份温备份冷备份热备份指的是当数据库进行备份时,数据库的读写操作均不是受影响
温备份开发云主机域名指的是当数据库进行备份时,数据库的读操作可以执行, 但是不能执行写操作
冷备份指的是当数据库进行备份时,数据库不能进行读写操作, 即数据库要下线MySQL中进行不同方式的备份还要考虑存储引擎是否支持MyISAM热备 温备 √冷备 √InnoDB热备 √温备 √冷备 √我们在考虑完数据在备份时, 数据库的运行状态之后还需要考虑对于MySQL数据库中数据的备份方式物理备份一般就是通过tar,cp等命令直接打包复制数据库的数据文件达到备份的效果
逻辑备份一般就是通过特定工具从数据库中导出数据并另存备份(逻辑备份会丢失数据精度)物理备份逻辑备份定制备份策略前, 我们还需要考虑一些问题我们要备份什么?一般情况下, 我们需要备份的数据分为以下几种数据二进制日志, InnoDB事务日志代码(存储过程、存储函数、触发器、事件调度器)服务器配置文件备份工具这里我们列举出常用的几种备份工具
mysqldump: 逻辑备份工具, 适用于所有的存储引擎, 支持温备、完全备份、部分备份、对于InnoDB存储引擎支持热备
cp, tar 等归档复制工具: 物理备份工具, 适用于所有的存储引擎, 冷备、完全备份、部分备份
lvm2 snapshot: 几乎热备, 借助文件系统管理工具进行备份
mysqlhotcopy: 名不副实的的一个工具, 几乎冷备, 仅支持MyISAM存储引擎
xtrabackup: 一款非常强大的InnoDB/XtraDB热备工具, 支持完全备份、增量备份, 由percona提供针对不同的场景下, 我们应该制定不同的备份策略对数据库进行备份, 一般情况下, 备份策略一般为以下三种直接cp,tar复制数据库文件mysqldump+复制BIN LOGSlvm2快照+复制BIN LOGSxtrabackup以上的几种解决方案分别针对于不同的场景如果数据量较小, 可以使用第一种方式, 直接复制数据库文件如果数据量还行, 可以使用第二种方式, 先使用mysqldump对数据库进行完全备份, 然后定期备份BINARY LOG达到增量备份的效果如果数据量一般, 而又不过分影响业务运行, 可以使用第三种方式, 使用lvm2的快照对数据文件进行备份, 而后定期备份BINARY LOG达到增量备份的效果如果数据量很大, 而又不过分影响业务运行, 可以使用第四种方式, 使用xtrabackup进行完全备份后, 定期使用xtrabackup进行增量备份或差异备份我们这里使用的是使用yum安装的mysql-5.1的版本, 使用的数据集为从网络上找到的一个员工数据库查看数据库的信息向数据库施加读锁备份数据文件模拟数据丢失并恢复我们这里使用的是使用yum安装的mysql-5.1的版本, 使用的数据集为从网络上找到的一个员工数据库我们通过mysqldump进行一次完全备份, 再修改表中的数据, 然后再通过binary log进行恢复二进制日志需要在mysql配置文件中添加 log_bin=on 开启mysqldump命令介绍mysqldump是一个客户端的逻辑备份工具, 可以生成一个重现创建原始数据库和表的SQL语句, 可以支持所有的存储引擎, 对于InnoDB支持热备官方文档介绍查看数据库的信息使用mysqldump备份数据库做实验之前我们先回顾一下lvm2-snapshot的知识LVM快照简单来说就是将所快照源分区一个时间点所有文件的元数据进行保存,如果源文件没有改变,那么访问快照卷的相应文件则直接指向源分区的源文件,如果源文件发生改变,则快照卷中与之对应的文件不会发生改变。快照卷主要用于辅助备份文件。 这里只简单介绍,点击查看详细介绍部署lvm环境查看数据库的信息创建快照卷并备份恢复数据为了更好地演示, 我们这次使用mariadb-5.5的版本, 使用xtrabackup使用InnoDB能够发挥其最大功效, 并且InnoDB的每一张表必须使用单独的表空间, 我们需要在配置文件中添加innodb_file_per_table = ON来开启下载安装xtrabackupxtrabackup介绍Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具。特点:备份过程快速、可靠;备份过程不会打断正在执行的事务;能够基于压缩等功能节约磁盘空间和流量;自动实现备份检验;还原速度快;摘自马哥的文档xtrabackup实现完全备份我们这里使用xtrabackup的前端配置工具innobackupex来实现对数据库的完全备份使用innobackupex备份时, 会调用xtrabackup备份所有的InnoDB表, 复制所有关于表结构定义的相关文件(.frm)、以及MyISAMMERGECSVARCHIVE表的相关文件, 同时还会备份触发器和数据库配置文件信息相关的文件, 这些文件会被保存至一个以时间命名的目录.备份过程一般情况, 备份完成后, 数据不能用于恢复操作, 因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。因此, 此时的数据文件仍不一致, 所以我们需要”准备”一个完全备份恢复数据增量备份BASEDIR指的是完全备份所在的目录,此命令执行结束后,innobackupex命令会在/extrabackup目录中创建一个新的以时间命名的目录以存放所有的增量备份数据。另外,在执行过增量备份之后再一次进行增量备份时,其--incremental-basedir应该指向上一次的增量备份所在的目录。需要注意的是,增量备份仅能应用于InnoDB或XtraDB表,对于MyISAM表而言,执行增量备份时其实进行的是完全备份。整理增量备份恢复数据

相关推荐: 加密mysql的方法

下面讲讲关于加密mysql的方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完加密mysql的方法这篇文章你一定会有所受益。我们通过对Mysql数据库的数据进行加密,可以使数据库更加安全,里面的信息数据不会被轻易破解。MySQL特…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/09 14:12
下一篇 06/09 14:12

相关推荐