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


猜你喜欢
- Balloons(气球状提示)问题摘要气球状提示(Balloon)是一个小型的弹出窗口,用于通知用户出现非关键性问题或控件处于某种特殊情况。
- 永远不要相信用户输入的内容具有适当的大小或者包含适当的字符。在使用其做出决策之前应该始终对用户输入进行验证。最佳的选择是创建一个
- 应用场景:在实际使用中经常会遇到需要在Form表单中使用table表格进行表单提交,同时又需要对table的字段进行校验,效果如图所示:这个
- 图像的阈值处理一般使得图像的像素值更单一、图像更简单。阈值可以分为全局性质的阈值,也可以分为局部性质的阈值,可以是单阈值的也可以是多阈值的。
- 本文实例讲述了Python单元测试与测试用例。分享给大家供大家参考,具体如下:单元测试与测试用例简介测试用例是一组单元测试,这些单元测试一起
- 要实现这个功能,可能有多种方法,我在这里记录下一个比较方便的方法:import pandas as pdwriter = pd.ExcelW
- 运行一段程序,警告:service/mysqlconfig.go:63::error: golang.guazi-corp.com/tool
- 1、文件上传(input标签) (1)html代码(form表单用post方法提交)<input class="b
- 简介scrapy-redis是一个基于redis的scrapy组件,用于快速实现scrapy项目的分布式部署和数据爬取,其运行原理如下图所示
- 如果你需要一个PDF文件合并工具,那么本文章完全可以满足您的要求。哈喽,大家好呀,这里是滑稽研究所。不多废话,本期我们利用Python合
- 一、安装xlrd地址下载后,使用 pip install .whl 安装即好。查看帮助:>>> import xlrd&g
- 错误现象:ERROR 1045 (28000): Access denied for user 'ODBC'@'lo
- 对于array,如2-D的array,如何取指定元素设array为3*10的shapes = array([[ 0, 1, 2, 3, 4,
- 如果你用ODBC connection (DSN or DSN-less)来访问远端的(UNC path)数据库, OLEDB会出现以下错误
- 正常开发的时候,我们都手动去写要引入到包,有过java开发的同事,用过快捷键ctrl + alt + o 会自动引入所有的依赖包,pycha
- Windows下采用PyInstall将py文件转换成exe可执行文件好不容易写完的py文件,想做成exe文件,最开始选择用py2exe,结
- 本文介绍,在 VSCode 使用 IPython Kernel的设置方法,详细介绍如下所示:要达到的效果:只需按下 Ctrl+;,选中的几行
- 一个简易的TCP端口扫描器,使用python3实现。需求:扫描目标网站开放哪些端口号,将所有开放的端口号输出。分析:使用socket连接,如
- 先发官方文档的地址:官方文档学习使用的书籍是Python网络数据采集(Ryan Mitchell著),大约是一些笔记的整理。Beautifu
- 最近学习了Oracle修改字段类型方法,留做记录。有一个表名为tb,字段段名为name,数据类型nchar(20)。1、假设字段数据为空,则