Mysql数据库增量备份与恢复

这篇具有很好参考价值的文章主要介绍了Mysql数据库增量备份与恢复。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、MySQL 增量备份概念

使用 mysqldump 进行完全备份,备份的数据中有重复数据,备份时间与恢复时间长。 而增量备份就是备份自上一次备份之后增加或改变的文件或内容。

1、增量备份的特点:

  • 没有重复数据,备份量不大,时间短
  • 恢复麻烦:需要上次完全备份及完全备份之后所有的增量备份才能恢复,而且要对所 有增量备份进行逐个反推恢复。

MySQL没有提供直接的增量备份办法,可以通过MySQL提供的二进制日志(binary logs)间接实现增量备份。

2、MySQL 二进制日志对备份的意义:

  • 二进制日志保存了所有更新或者可能更新数据库的操作。
  • 二进制日志在启动 MySQL 服务器后开始记录,并在文件达到 max_binlog_size 所设置的大小或者接收到 flush logs 命令后重新创建新的日志文件。
[root@mysql-master ~]# vim /etc/my.cnf

53 max_binlog_size=1024000			//二进制日志最大1M
  • 只需定时执行flush logs方法重新创建新的日志,生成二进制文件序列,并及时把这 些日志保存到安全的地方就完成了一个时间段的增量备份。

要进行 MySQL 的增量备份,首先要开启二进制日志功能,开启 MySQL 的二进制日志功能。

方法一:

MySQL 的配置文件的[mysqld]项中加入 log-bin=文件存放路径/文件前缀,如log-bin=mysql-bin,然后重启 mysqld 服务。默认此配置存在。

方法二:

使用 mysqld –log-bin=文件存放路径/文件前缀 重新启动 mysqld 服务 每周选择服务器负载较轻的时间段,或者用户访问较少的时间段进行备份。

二、MySQL 增量恢复

1、应用场景

(1)人为的 SQL 语句破坏了数据库

(2)在进行下一次全备之前发生系统故障导致数据库数据丢失

(3)在主从架构中,主库数据发生了故障

2、增量恢复的方法

(1)一般的恢复:备份的二进制日志内容全部恢复

格式:

mysqlbinlog [--no-defaults] 增量备份文件 | mysql -u 用户名 -p 密码

(2)基于时间点的恢复:便于跳过某个发生错误的时间点实现数据恢复

格式:

从日志开头截止到某个时间点的恢复:

mysqlbinlog [--no-defaults] --stop-datetime=’年-月-日 小时:分钟:秒’ 二进制日志 | mysql -u用户名 -p密码

从某个时间点到日志结尾的恢复:

mysqlbinlog [--no-defaults] --start-datetime=’年-月-日 小时:分钟:秒’ 二进制日志 | mysql -u用户名 -p密码

从某个时间点到某个时间点的恢复:

mysqlbinlog [--no-defaults] --start-datetime=’年-月-日 小时:分钟:秒’ --stop-datetime=’年-月-日 小时:分钟:秒’ 二进制日志 | mysql -u 用户名 -p 密码

(3)基于位置的恢复:可能在同一时间点既有错误的操作也有正确的操作,基于位置 进行恢复更加精准

格式:

mysqlbinlog --stop-position=’操作 id’ 二进制日志 |mysql -u 用户名 -p 密码 

mysqlbinlog --start-position=’操作 id’ 二进制日志 |mysql -u 用户名 -p 密码

三、制定企业备份策略的思路

1、确定当前 mysql 是处于哪种表类型下工作的,它们支持事物处理还是非事物的,因为我 们需要根据不同的特点来做一些设置。

2、要选择备份的形式是完全备份还是增量备份,它们各有优缺点。

3、为了保证恢复的完整性,我们得开启 binary log 功能,同时 binlog 给恢复工作也带来了很 大的灵活性,可以基于时间点或是位置进行恢复。考虑到数据库性能,我们可以将 binlog 文件保存到其他安全的硬盘中。

4、正如最初所提到的,备份操作和应用服务得到同时运行,这样就十分消耗系统资源了, 会导致数据库服务性能下降,这就要求我们选择一个合适的时间(比如在应用负担很小的时 候)再来进行备份操作。

5、不是备份完就万事大吉,我们还得确认备份是否可用,所以之后的恢复测试是完全有必 要的。

  • 根据数据更新频繁,则应该较为频繁的备份
  • 数据重要,则在有适当更新时进行备份
  • 在数据库压力小的时段进行备份,如一周一次完全备份,然后每天进行增量备份
  • 中小公司,全备一般可一天一次
  • 大公司可每周进行一次全备,每天进行一次增量备份
  • 尽量为企业实现主从复制架构

四、MySQL 企业备份案例

需求描述:

北京移电通信公司的用户信息数据库为 client,用户资费数据表为 user_info 请为该公司每周进行完全备份

每天为该公司进行增量备份

新增加的用户信息如表所示文章来源地址https://www.toymoban.com/news/detail-466493.html

身份证 姓名 性别 用户ID号 资费
000000006 孙空悟 016 10
000000007 蓝精灵 017 91
000000008 姜姜 018 23
000000009 关云长 019 37
0000000010 罗钢 020 36

安装 mysql(yum 方式)

[root@mysql-server ~]# yum -y install mariadb-server mariadb mariadb-libs

[root@mysql-server ~]# systemctl enable mariadb.service

[root@mysql-server ~]# systemctl start mar

到了这里,关于Mysql数据库增量备份与恢复的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL数据库的备份与恢复

    备份的主要目的是灾难恢复。 在生产环境中,数据的安全性至关重要。 任何数据的丢失都可能产生严重的后果。 造成数据丢失的原因: 程序错误 人为操作错误 运算错误 磁盘故障 灾难(如火灾、地震)和盗窃 1)物理备份 物理备份:对数据库操作系统的物理文件(如数据

    2024年02月04日
    浏览(242)
  • 【数据库四】MySQL备份与恢复

    数据库备份 物理备份 :直接对数据库的 数据文件或者日志文件 进行备份. 逻辑备份 :对 数据库的库或表对象 进行备份. 备份策略 完全备份 :每次备份 都备份完整的数据库 . 是对整个数据库、数据库结构和文件结构的备份。 保存的是 备份完成时刻的数据库 。 是 差异备份与增

    2024年02月11日
    浏览(63)
  • 数据库应用:MySQL备份与恢复

    目录 一、理论 1.数据备份 2.完全备份与恢复 3.完全备份与恢复应用 4.增量备份与恢复 5.增量备份与恢复应用 6.使用脚本备份 7.日志管理 二、实验 1.完全备份与恢复 2.增量备份与恢复 3.使用脚本备份 三、问题 1.mysqldump报错 四、总结 (1)重要性 ①  备份的主要目的是灾难恢复

    2024年02月16日
    浏览(71)
  • 9-MySQL数据库 数据的备份与恢复

    1.date文件的备份 2.mysqldump 备份 说明: mysqldump是MySQL数据库中的一个实用程序,它主要用于转储(备份)数据库。mysqldump通过生成一个SQL脚本文件,包含从头开始重新创建数据库所必需的(如 CREATE TABLE和INSERT等),来实现数据库的备份和转储。这样,你可以在任何时候通过运

    2024年02月08日
    浏览(71)
  • MySQL基础(三十八)数据库备份与恢复

    物理备份 :备份数据文件,转储数据库物理文件到某一目录。物理备份恢复速度比较快,但占用空间比较大,MySQL中可以用 xtrabackup 工具来进行物理备份。 逻辑备份 :对数据库对象利用工具进行导出工作,汇总入备份文件内。逻辑备份恢复速度慢,但占用空间小,更灵活。

    2024年02月06日
    浏览(66)
  • 【Linux】Mysql的数据库备份及恢复

            备份就是为了防止原数据丢失,保证数据的安全。当数据库因为某些原因造成部分或 者全部数据丢失后,备份文件可以帮我们找回丢失的数据。因此,数据备份是很重要 的工作。 常见数据库备份的应用场景如下: 数据丢失应用场景: 人为操作失误造成某些数据

    2023年04月10日
    浏览(54)
  • MySQL-备份+日志:介质故障与数据库恢复

    本关任务: 备份数据库,然后再恢复它。 为了完成本关任务,你需要掌握: 1.MySQL的恢复机制; 2.MySQL提供的备份与恢复工具。 和大多数DBMS一样,MySQL利用备份、日志文件实现恢复。 具体理论知识在此不详细介绍。 MySQL提供了以下工具: 逻辑备份工具:mysqldump 物理备份工具

    2024年02月05日
    浏览(89)
  • 【七天入门数据库】第五天 MySQL的备份恢复

    【七天入门数据库】第一天 MySQL的安装部署 【七天入门数据库】第二天 数据库理论基础 【七天入门数据库】第三天 MySQL的库表操作 【七天入门数据库】第四天 数据操作语言DML 【七天入门数据库】第五天 MySQL的备份恢复 【七天入门数据库】第六天 MySQL的视图与索引 【七天

    2024年02月16日
    浏览(60)
  • mysql-DBA(1)-数据库备份恢复-导入导出-日志解释

    log: hdd data :ssd  ,备份和导出都慢,缓冲池有污染。 逻辑备份:把所有的命令转换成sql语句。 修改配置文件: -A 备份所有 -B 备份哪个数据库 --master-data=1 同步 内容: 备份参数: 1.备份成文件,里面就是sql语句 2.routine: 3.trigger 触发器 4.event: 定时任务 5.-B 数据库 1.有-B 表

    2024年03月09日
    浏览(71)
  • MySQL数据库的备份、恢复、导出、导入(bin log和mydump)

    一、使用 bin log 来恢复数据 一、bin log的三种格式 1、statement:基于SQL语句的复制(statement-based replication,SBR) 2、row:基于行的复制(row-based replication,RBR) 3、mixed:混合模式复制(mixed-based replication,MBR) 4、查看模式和更改模式 二、配置bin log策略 三、获取bin log文件列表

    2024年02月21日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包