博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL-备份与恢复简介20210103
阅读量:4171 次
发布时间:2019-05-26

本文共 2656 字,大约阅读时间需要 8 分钟。

MySQL-备份与恢复简介

概述

对于用户来说,数据库中保存的数据通常至关重要,所以要采取各种手段来防止各种可能的数据损失和数据故障。

DBA主要任务就是维持数据库的高可靠性运行,尽量提高数据库的连续可用时间,降低数据库的平均恢复时间,最小化故障时的数据损失及业务影响。

努力提高平均故障间隔时间(MTBF),确保硬件尽量可靠,也就是通过冗余方式保护关键组件,定期执行操作系统维护,如主从,集群,容灾。

减少平均恢复时间(MTTR),提前确定恢复过程方案并配置备份,以便在需要时随时可用。

作为一名DBA,千万不要忽视数据备份和恢复测试的重要性。要知道,有时,备份可能拯救我们的命!!!切记切记。

 

 

 

一 故障分类

DBA可按照接受的最佳方案配置数据库,以便永远不丢失提交的事务处故障类别-----可分为以下几类∶

◆语句错误∶单个数据库操作(选择、插入、更新或删除)失败,软件逻辑问题。

◆用户进程错误︰单个数据库会话失败,一般不需要干预,分析日志观察。

◆网络故障:与数据库的连接断开,如∶网卡坏,网络配置问题。

◆用户错误∶用户成功完成了操作,但是操作不正确(删了表,或输入错误数据)。

◆实例错误:实例意外关闭,看error日志。

◆介质故障∶丢失了一个或多个数据库文件(OS、文件系统、硬盘、存储、主机)。

二 MySQL备份分类

按照备份后产生的副本文件是否可以编辑,可分为逻辑备份、物理备份。

2.1物理备份∶

物理备份产生的数据副本都是二进制文件,常常不可编辑,例如数据库的二进制日志。

备份特点︰

1)由数据库文件和目录组成,是mysal数据目录的全部或者部分

2)一般备份比逻辑备份快,因为纯属是文件复制,不用像逻辑备份那样,需要做sql的转换﹔

3)备份的粒度比逻辑备份小,因为是全文件复制了,当然比sql要精确一些;

4)物理备份的文件可以不仅是数据库,还可以是数据库的日志,配置文件;

2.2 逻辑备份(将数据导出至文本文件中) ∶

逻辑备份就是把数据库的结构定义语句,数据内容的插入语句,全部存储下来。然后恢复的时候,在另一个mysql服务器执行这些语句,就可以创建另一个与之前一样的数据库了。备份后,数据库管理员通常可以直接查看和编辑副本文件中的内容。

适用:这种比较适合数据量少的数据库。备份方法∶

如,使用mysqldump等程序可以把对远程/本地数据库进行逻辑备份

2.SELECT....INTO OUTFILE可以把数据进行逻辑备份,但备份文件只能存储在mysql-server的机器上;

2.2.1 逻辑备份特点∶

1)逻辑备份通过查询数据库的信息进行备份﹔

2)速度比较慢。因为获取了信息,然后组装成sql语句,如果调用命令是远程,还要把sql语句远程传输;

3)备份文件要比物理备份小;4)备份粒度只能到表;

5)没有日志或者配置文件;

6)备份文件是sql语句,逻辑语句,相对来说,可移植性要好。比如我在linux备份了,可以在windows进行恢复,物理备份就不行;

2.3 完全备份∶

完全备份是一个完整的数据备份,仅仅依靠该副本文件就可以将数据库恢复到某个正确的状态。如果不借助热备份工具,完全备份可能需要停止MySQL服务

此时MySQL将无法提供服务,在真实的业务场景中,很少真正使用完全备份

恢复︰全备即可

2.4增量备份︰

增量备份是指在完全备份的基础上,对更新的数据进行备份,恢复时需要借助完全备份产生的副本文件。目前,MySQL还没有提供真正的增量备份工具非常菜。

简单直接∶仅备份自上一次完全备份或增量备份以来变化的哪些数据;

恢复︰恢复周五:全备+周一+周二+周三+周四+周五

2.5 差异备份

仅备份自上—次完全备份以来变量的那部数据。恢复︰如果至周五,全备+周五的日志。

2.6 MySQL一般备份以下几个部分∶

1.数据文件

2.日志文件(比如事务日志,二进制日志)

3.存储过程,存储函数,触发器

4.配置文件(十分重要,各个配置文件都要备份)

5.用于实现数据库备份的脚本。

三 MySQL备份工具介绍

3.1 mysqldump(单线程)/mysqlpump(多线程 5.7+)

mysql服务自带的备份工具,是一种逻辑备份工具,它支持一下方式备份︰完全、部分备份;

InnoDB:热备﹔

MyISAM:温备;

3.2 mydumper开源

mysqldump的一个衍生,速度在mysqldump和mysqlpump两者之间。

3.3  cp/tar

lvm2:快照(请求一个全局锁),之后立即释放锁,达到几乎热备的效果;物理备份;

注意:不能仅备份数据文件;要同时备份事务日志;

前提∶要求数据文件和事务日志位于同一个逻辑卷;

3.5 innobackup收费]/ xtrabackup[免费]

由Percona提供,开源工具,支持对InnoDB做热备,物理备份工具;完全备份、部分备份;完全备份、增量备份;完全备份、差异备份;

3.6 官方mysql enterprise backup备份软件,收费。

 

四 Mysql备份策略

MySQL一般情况下有几种策略。

策略一:

直接拷贝数据库文件(文件系统备份工具cp )(适合小型数据库,是最可靠的)

策略二∶

Mysqldump或者mysqlpump备份数据库(完全备份+增加备份,速度相对较慢,适合中小型数据库)(MyISAM是温备份,InnoDB是热备份)

策略三∶

Xtrabackup&&lvs快照从物理角度实现几乎热备的完全备份,配合二进制日志备份实现增量备份,速度快适合比较烦忙的数据库

五 灾难恢复

1系统崩溃只剩下数据文件的情况下的恢复,甚至数据库文件不存在而只有损坏得备份文件情况下得恢复,或者数据有丢失,binlog丢失恢复。

2误delete数据恢复、误删除表恢复(drop ) . truncate表恢复等.以及myd/frm文件,ibd ibdata1文件变成0字节。

3各种MySql错误的修复:如mysql无法启动,事务死锁,ibdata1文件无法启动等等

4MySql数据库中数据文件ibdata1和ibd出现坏块情况下的恢复。

5  MySql数据文件被误删除情况下的恢复.被覆盖的情况或者被老备份还原的恢复。

6、磁盘阵列上崩溃导致的mysql数据库无法恢复或者严重损坏的修复。

7、ibdata1文件丢失或被覆盖,ibd表文件丢失以及被覆盖的情况。

转载地址:http://jabai.baihongyu.com/

你可能感兴趣的文章
Fork/Join 框架
查看>>
服务雪崩效应
查看>>
策略模式实例
查看>>
PostgreSQL数据库管理 第八章日常运维
查看>>
PostgreSQL数据库管理第十章Repmgr
查看>>
Linux shell正则表达式-sed-awk-grep应用
查看>>
linux系统管理—第五章Linux-bashshell
查看>>
PostgreSQL数据库管理 第二章体系结构
查看>>
PostgreSQL数据库管理 第三章实例管理与管理工具
查看>>
PostgreSQL数据库管理第七章流复制
查看>>
PostgreSQL数据库管理第十章Repmgr
查看>>
PostgreSQL数据库管理 第八章日常运维
查看>>
MySQL数据库管理-体系结构
查看>>
软考UML
查看>>
信息系统的生命周期各阶段及说明
查看>>
Ubuntulinux离线安装ClamTk杀毒软件步骤和使用方法
查看>>
摆脱贫穷2021V1
查看>>
Android.Could not find *.apk
查看>>
JNI
查看>>
Android基于TranslateAnimation的动画动态菜单
查看>>