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

 更新时间:2020年11月07日 09:37:23   作者:AsiaYe  
这篇文章主要介绍了MySQL数据库备份过程的注意事项,帮助大家更好的理解和维护MySQL,感兴趣的朋友可以了解下

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

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

文件种类划分:

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

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

按照备份内容划分:

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

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

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

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

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

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

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

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

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

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

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

以上就是MySQL数据库备份过程的注意事项的详细内容,更多关于MySQL 备份的资料请关注脚本之家其它相关文章!

相关文章

  • mysql实现合并同一ID对应多条数据的方法

    mysql实现合并同一ID对应多条数据的方法

    这篇文章主要介绍了mysql实现合并同一ID对应多条数据的方法,涉及mysql GROUP_CONCAT函数的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • MySQL 8.0.19安装详细教程(windows 64位)

    MySQL 8.0.19安装详细教程(windows 64位)

    这篇文章主要介绍了MySQL 8.0.19安装详细教程(windows 64位),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Mysql中通用表达式WITH AS语句的使用实例代码

    Mysql中通用表达式WITH AS语句的使用实例代码

    with as也叫子查询,用来定义一个sql片段,且该片段会被整个sql语句反复使用很多次,这个sql片段就相当于是一个公用临时表,下面这篇文章主要给大家介绍了关于Mysql中通用表达式WITH AS语句使用的相关资料,需要的朋友可以参考下
    2022-08-08
  • SQL实现LeetCode(197.上升温度)

    SQL实现LeetCode(197.上升温度)

    这篇文章主要介绍了SQL实现LeetCode(197.上升温度),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • centos7.4系统中yum源安装mysql 5.6

    centos7.4系统中yum源安装mysql 5.6

    本文给大家介绍的是如何在centos7.4系统中通过yum源安装MySQL 5.6数据库,CentOS7默认数据库是mariadb, 但是 好多用的都是mysql ,但是CentOS7的yum源中默认好像是没有mysql的,今天我们就来看看具体如何操作
    2018-09-09
  • MySQL数据库设计之利用Python操作Schema方法详解

    MySQL数据库设计之利用Python操作Schema方法详解

    这篇文章主要介绍了MySQL数据库设计之利用Python操作Schema方法详解,还是比较不错的,这里分享给大家,供需要的朋友参考。
    2017-11-11
  • MySQL中使用JSON存储数据的实现示例

    MySQL中使用JSON存储数据的实现示例

    本文主要介绍了MySQL中使用JSON存储数据的实现示例,我们可以在MySQL中直接存储、查询和操作JSON数据,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • lnmp关闭mysql日志保护硬盘空间的方法

    lnmp关闭mysql日志保护硬盘空间的方法

    这篇文章主要介绍了lnmp关闭mysql日志保护硬盘空间的方法,需要的朋友可以参考下
    2014-02-02
  • 升级到MySQL5.7后开发不得不注意的一些坑

    升级到MySQL5.7后开发不得不注意的一些坑

    这篇文章主要给大家介绍了关于升级到MySQL5.7后开发不得不注意的一些坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • SQL实现LeetCode(176.第二高薪水)

    SQL实现LeetCode(176.第二高薪水)

    这篇文章主要介绍了SQL实现LeetCode(176.第二高薪水),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08

最新评论