MySQL数据库备份过程的注意事项

作者:AsiaYe 时间:2024-01-26 23:16:59 

今天看了看数据备份相关的东西,总结了几个MySQL数据备份的注意事项,简单分享一下吧。

    对于MySQL备份,每个DBA的理解可能都不一样,备份可以分为下面几个维度:

文件种类划分:

1、物理备份,以xtrabackup为代表的物理备份是最常用的备份方法,经常被用在备份大的数据库上面。

2、逻辑备份,以mysqldump为代表的逻辑备份,小于50G的数据量,用该工具备份起来比较合适。

按照备份内容划分:

1、全量备份,这个容易理解,就是数据库完整的一个备份

2、增量备份,基于全量备份的基础之上的,例如全量备份备份截止日期是昨天,那么昨天到今天这部分数据就是增量备份

3、日志备份,日志备份是在备份文件的基础上,再对mysql的binlog进行备份,我们知道binlog中记录了mysql的DDL和DML操作,利用binlog能够还原数据库的某个中间状态。

   今天在梳理线上的备份内容的时候,发现了以下一些可能有用的知识点,罗列出来,如果对大家有帮助,那是极好的,如果没有,权当我自嗨吧~

1、当我们使用xtrabackup备份的时候,对于单机多实例的机器,最好分开时间备份,因为同一时间备份多个MySQL实例吗,会对磁盘IO影响较大,此时如果还有其他数据写入,会产生影响

2、可以利用NFS挂载的方式,将本地的数据备份在远程机器上,这样可以缓解本地的备份压力,同时可以保证本地硬盘出现问题不影响数据恢复。应用此种方法的时候,需要考虑机器之间的网络带宽。架构图如下:

MySQL数据库备份过程的注意事项

3、我们知道,xtrabackup备份完的备份文件,如果我们用来恢复,需要进行了两个步骤,第一步是apply_log,第二步是copy back,建议是备份完成之后,直接进行apply log的操作,一旦失败,还可以再备份一次,否则如果默认可用,等到恢复的时候发现有问题,就比较难办了

4、基于binlog做增量恢复也是一种比较方便的做法,既按照一定的周期进行全量备份,然后定时备份binlog,这期间的任意时间点的数据都可以通过备份的binlog进行恢复

5、如果线上机器有多台,我们可以通过mysqldump和xtrabackup结合的方式进行备份,设定一个阈值,例如50G,50G以下的数据量,mysqldump的性能比较好,50G以上的数据量,可以考虑使用xtrabackup的方法来进行备份

6、备份数据的目的是为了恢复,最好能在备份完成之后,尝试恢复一把,保证备份数据的可用性。

7、对于数据量较大的实例,有时候备份的时间特别长,恢复起来也不方便,可以利用跨机房从库的方法来进行数据备份,此时可以搭建一个延迟从库,以便在主库误操作的时候,从库可以及时的停止,跳过相关的误操作步骤。

来源:https://cloud.tencent.com/developer/article/1584426

标签:MySQL,备份
0
投稿

猜你喜欢

  • Python上传package到Pypi(代码简单)

    2022-04-21 17:09:33
  • python中pymysql的executemany使用方式

    2024-01-12 14:35:46
  • php分页查询的简单实现代码

    2024-03-14 09:43:40
  • 详解设计模式中的工厂方法模式在Python程序中的运用

    2022-11-14 01:06:58
  • Python安装jieba库详细教程

    2023-05-09 12:18:19
  • JavaScript通过改变文字透明度实现的文字闪烁效果实例

    2024-04-16 09:13:28
  • PyTorch实现卷积神经网络的搭建详解

    2021-03-12 16:36:03
  • 在ie6下的hover伪类的使用

    2008-06-01 13:51:00
  • Python实现的凯撒密码算法示例

    2022-10-14 08:47:28
  • Python heapq库案例详解

    2022-12-27 12:26:52
  • Python 模拟动态产生字母验证码图片功能

    2022-02-10 21:03:35
  • Springboot使用influxDB时序数据库的实现

    2024-01-18 13:42:10
  • 解决Jupyter无法导入已安装的 module问题

    2022-05-13 07:14:18
  • Python 马氏距离求取函数详解

    2023-08-27 01:28:58
  • 从创建数据库到存储过程与用户自定义函数的小感

    2024-01-16 23:42:05
  • 使用Python获取并处理IP的类型及格式方法

    2023-12-20 00:18:23
  • MySQL表复合查询的实现

    2024-01-15 19:49:20
  • 一步步教你编写可测试的Go语言代码

    2024-04-29 13:03:43
  • 使用javascript将时间转换成今天,昨天,前天等格式

    2024-04-10 10:42:20
  • Python减少循环层次和缩进的技巧分析

    2023-10-07 21:41:09
  • asp之家 网络编程 m.aspxhome.com