加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

不小心删除了公司数据库,是什么样一种体验?

发布时间:2017-09-19 17:11:03 所属栏目:建站 来源:知乎网
导读:副标题#e# 文/古的白 人生大起大落落落落落落,实在是太刺激了,下面这真是一个悲伤的故事。 那年公司 ERP 系统刚进行升级。 因为公司陆续上了 MES 和 PDM 系统。为了加快整个公司信息化平台的统一,请了个第三方公司来做中间接口。 然后故事开始了。 某一

然而是人总难免会犯错误,说不定哪天大脑短路了,误操作把数据库给删除了,怎么办?下面,就 MySQL 数据库误删除后的恢复方案进行说明。

不小心删除了公司数据库,是什么样一种体验?

工作场景

MySQL 数据库每晚 12:00 自动完全备份。

某天早上上班,9 点的时候,一同事犯晕 drop 了一个数据库!

需要紧急恢复!可利用备份的数据文件以及增量的 binlog 文件进行数据恢复。

数据恢复思路

利用全备的 SQL 文件中记录的 CHANGE MASTER 语句,binlog 文件及其位置点信息,找出 binlog 文件中增量的那部分。

用 MySQLbinlog 命令将上述的 binlog 文件导出为 SQL 文件,并剔除其中的 drop 语句。

通过全备文件和增量 binlog 文件的导出 SQL 文件,就可以恢复到完整的数据。

实例说明

首先,要确保 MySQL 开启了 binlog 日志功能。在 /etc/my.cnf 文件里的 [mysqld] 区块添加,如下图,然后重启 MySQL服务。

不小心删除了公司数据库,是什么样一种体验?

1.在 ops 库下创建一张表 customers

不小心删除了公司数据库,是什么样一种体验?

不小心删除了公司数据库,是什么样一种体验?

2.现在进行全备份

不小心删除了公司数据库,是什么样一种体验?

参数说明:

  • -B:指定数据库

  • -F:刷新日志

  • -R:备份存储过程等

  • -x:锁表

  • –master-data:在备份语句里添加 CHANGE MASTER 语句以及 binlog 文件及位置点信息

3.再次插入数据

不小心删除了公司数据库,是什么样一种体验?

4.此时误操作,删除了 test 数据库

不小心删除了公司数据库,是什么样一种体验?

此时,全备之后到误操作时刻之间,用户写入的数据在 binlog 中,需要恢复出来!

5.查看全备之后新增的 binlog 文件

不小心删除了公司数据库,是什么样一种体验?

这是全备时刻的 binlog 文件位置,即 mysql-bin.000002 的 106 行,因此在该文件之前的 binlog文件中的数据都已经包含在这个全备的 SQL 文件中了。

6.移动 binlog 文件,并导出为 SQL 文件

不小心删除了公司数据库,是什么样一种体验?

剔除其中的 drop 语句,查看 MySQL 的数据存放目录,由下面可知是在 /var/lib/mysql 下,将 binlog 文件导出 SQL文件,并 vim 编辑它删除其中的 drop 语句。

不小心删除了公司数据库,是什么样一种体验?

注意:在恢复全备数据之前必须将该 binlog 文件移出,否则恢复过程中,会继续写入语句到 binlog,最终导致增量恢复数据部分变得比较混乱。

7.恢复数据

不小心删除了公司数据库,是什么样一种体验?

查看数据库,看看 ops 库在不在。

不小心删除了公司数据库,是什么样一种体验?

此时恢复了全备时刻的数据。接着,使用 002bin.sql 文件恢复全备时刻到删除数据库之间,新增的数据。

不小心删除了公司数据库,是什么样一种体验?

再次查看数据库,发现全备份到删除数据库之间的那部分数据也恢复了!!

不小心删除了公司数据库,是什么样一种体验?

以上就是 MySQL 数据库增量数据恢复的实例过程!

最后,总结几点:

  • 本案例适用于人为 SQL 语句造成的误操作或者没有主从复制等的热备情况宕机时的修复。

  • 恢复条件为 MySQL 要开启 binlog 日志功能,并且要全备和增量的所有数据。

  • 恢复时建议对外停止更新,即禁止更新数据库。

  • 先恢复全量,然后把全备时刻点以后的增量日志,按顺序恢复成 SQL 文件,然后把文件中有问题的 SQL语句删除(也可通过时间和位置点),再恢复到数据库。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读