mysql数据库恢复操作_MySQL 数据库误删后的数据该如何恢复操作?

原标题:MySQL 数据库误删后的数据该如何恢复操作?

纯手工打造每一篇开源资讯与技术干货,数十万程序员和Linuxer已经关注。

在日常运维工作中,对于数据库的备份是至关重要的!数据库对于网站的重要性使得我们对 MySQL 数据库的管理不容有失!然而是人总难免会犯错误,说不定哪天大脑短路了,误操作把数据库给删除了,怎么办?

下面,就 MySQL 数据库误删除后的恢复方案进行说明。

一、工作场景

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

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

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

二、数据恢复思路

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

(2)用mysqlbinlog命令将上述的binlog文件导出为sql文件,并剔除其中的drop语句。

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

三、实例说明

首先,要确保mysql开启了binlog日志功能。在/etc/my.cnf文件里的[mysqld]区块添加:

log-bin=mysql-bin

然后重启mysql服务

(1)在ops库下创建一张表customers

mysql>useops;

mysql>create table customers(

->idintnotnullauto_increment,

->namechar(20)notnull,

->ageintnotnull,

->primary key(id)

->)engine=InnoDB;

QueryOK,0rows affected(0.09sec)

mysql>showtables;

+---------------+

|Tables_in_ops|

+---------------+

|customers|

+---------------+

1rowinset(0.00sec)

mysql>desccustomers;

+-------+----------+------+-----+---------+----------------+

|Field|Type|Null|Key|Default|Extra|

+-------+----------+------+-----+---------+----------------+

|id|i

你可能感兴趣的:(mysql数据库恢复操作)