前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >运维实践|关于mysql备份那点事(一)

运维实践|关于mysql备份那点事(一)

原创
作者头像
Aion
修改2024-02-28 23:54:32
1900
修改2024-02-28 23:54:32
举报

前言

2017年xxx删库事件;

2018年xxx删库事件;

2020年xxx删库事件;

2021年xxx删库事件;

……

所以今天想聊聊同备份相关的一些事情。

关于数据备份

数据备份不仅仅是开发、运维需要了解、熟练和掌握,一些架构设计或系统设计也需要熟练掌握,以备不时之需。最多的应用应该是编制文档上面的技术方案或者安全方案中涉及。

什么是备份

备份指的是将文件系统或数据库中的数据进行复制,并存储到另一个位置,以便在原始数据丢失或损坏时,可以使用备份数据进行恢复。备份的主要目的是保护数据,减少数据恢复时间和维护成本,同时确保业务的连续性和可用性。在MySQL中,数据备份是指将MySQL数据库中的数据、结构、配置等信息进行复制,并保存到其他存储介质或位置的过程。

备份的目的

在数据库系统中,最重要的便是数据了。数据被誉为“21世纪的黄金”,在数字经济时代,数据已经成为了一种核心生产要素。数据的价值不仅在于其本身的数量和质量,更在于如何通过数据挖掘和分析来获取近乎实时的洞察,以驱动业务的全流程。因此,数据的重要性不容忽视。数据备份的目的主要有:数据恢复(灾难恢复)、数据安全管理、数据合规性和法律要求、IT开发和测试以及迁移升级 5个方面。而我国在数据上也做了很大的贡献,于2021年6月10日颁布《中华人民共和国数据安全法》,该法由中华人民共和国第十三届全国人民代表大会常务委员会第二十九次会议通过,并于2021年9月1日起施行。

注意??:最怕的情况是误删操作以及一些不可抗拒因素,毕竟我们都是文明人。

备份内容

由于我们在一开始的MySQL备份目的的不同导致我们最终的备份内容也是不相同的。我们备份最主要的当然是数据了,还有数据的结构以及数据的定义。当然也不能落下数据的配置以及一些日志信息(二进制日志、查询日志、操作日志、错误日志等)。总结下来备份的主要内容就是下面这些:

  • 数据或数据文件。包括业务数据,数据定义信息和数据结构信息。
  • 数据日志。二进制日志数据信息,事物日志,查询日志,操作日志等。
  • 数据配置信息。
  • 函数、存储过程和事件触发器
  • 一些其他脚本等。

备份类型

在MySQL中,数据的备份数据根据数据副本是否可编辑大体可以分为两类:逻辑备份物理备份

逻辑备份

(1)含义:逻辑备份是指将数据库中的数据导出为SQL语句或其他可读的格式,并保存到文件中,一般都是有规律或者格式的数据,包括数据格式。

(2)优点:这种备份方法的优势在于备份文件可以跨数据库管理系统进行恢复。

(3)场景:数据量小的数据备份,例如MB、GB级别数据量。

(4)工具:MySQL提供了多个工具来执行逻辑备份,其中最常用的是mysqldump命令以及语句导出命令。

物理备份

(1)含义:物理备份是指直接复制数据库的物理文件和目录,一般都是二进制文件日志,无法进行编辑。

(2)优点:这种备份方法的优势在于备份和恢复速度快,但只能在相同的MySQL版本和架构之间进行恢复。

(3)场景:适用于大数据量的备份,例如TB、PB级别。

(4)工具:常见的物理备份方法包括使用文件系统级别的备份工具(如rsync、tar、cp、scp)以及使用MySQL Enterprise Backup等专用工具或者系统快照方式。

备份方式

根据MySQL备份目的的不同导致我们最终的备份方式也不相同。大体可以分为数据完全备份(Full Backup),增量备份(Incremental Backup),差异备份(Differential Backup)等。

完全备份:指对硬盘或数据库内的所有文件、文件夹或数据进行一次性的复制。

增量备份:指对上一次备份后更新的数据进行备份。

差异备份:提供运行完整备份后变更的文件的备份。

当然,备份还可以分为冷备和热备。冷备是在数据库关闭时进行的备份,备份的数据与此时段的数据完全一致。而热备则是在数据库开启状态下进行的备份。

备份命令和工具

使用工具做事,事半功倍。怎么可以少了备份工具呢?

  • 自带命令工具

在mysql的备份中,最常使用的莫过于自带的mysqldump命令工具,其自带工具还有mysqlpump命令工具。他俩主要的区别在于mysqldump工具单线程,而mysqlpump工具是多线程。

  • 自带的二进制日志

mysqlbinlog日志,主要用来查看、解析或恢复二进制日志中的事件。(需要开启哈,默认是关闭的~)

  • 官方备份工具

MySQL Enterprise Backup是MySQL官方提供的一个商业备份解决方案,支持所有MySQL存储引擎。功能强大,支持多种备份策略,包括完全备份、增量备份和差异备份。但这是一个商业产品,你懂的,哈哈哈哈哈?。

  • 开源命令工具

mydumper开源备份工具,与MySQL自带的mysqldump相比,mydumper具有更好的性能和更高的并发性。它能够将备份过程分成多个作业,并利用多个线程同时处理不同的表和分区,从而提高备份速度。

  • 物理拷贝工具

主要是rsync、tar和cp以及scp。

  • 商业化备份工具

innobackup或者xtrabackup备份工具。

写在最后

在进行MySQL数据备份时,需要根据业务需求、环境需求选择合适的备份方式,并指定备份方案。同时,备份后的恢复测试也是必不可少的,以确保备份数据的有效性。重要的话要讲三遍:

定期恢复测试,

定期恢复测试,

定期恢复测试


我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 关于数据备份
    • 什么是备份
      • 备份的目的
        • 备份内容
        • 备份类型
          • 逻辑备份
            • 物理备份
            • 备份方式
            • 备份命令和工具
            • 写在最后
            相关产品与服务
            云数据库 MySQL
            腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
            http://www.vxiaotou.com