误删除mysql数据库之如何恢复

目录

前言

前提条件

演示过程

小结


前言

本文针对当不小心误删除数据库后,如何进行恢复做个小记录。

前提条件

开启binlog日志

演示过程

1、测试环境准备

Windows server 2008 R2

Mysql数据库 (5.5.53)

2、查看Binlog是否开启

(1)配置文件配置

在my.ini主配置文件中添加如下三行:

linux机器中:
log_bin=ON      #打开binlog日志
log_bin_basename=/var/lib/mysql/mysql-bin  #binlog日志基本文件名,后面会追加标识来表示每一个文件
log_bin_index=/var/lib/mysql/mysql-bin.index  #指定binlog文件的索引文件,这个文件管理了所有的binlog文件的目录
server-id=12345 #5.7及以上版本需要配置,存在集群的话id需要唯一
Windows机器中:
log-bin=mysql-bin

binlog-format=Row

配置完毕后重启服务

(2)查看是否开启

#查看日志开启状态 
show variables like 'log_%';
#查看所有binlog日志列表
show master logs;
#查看最新一个binlog日志的编号名称,及其最后一个操作事件结束点 
show master status;
#刷新log日志,立刻产生一个新编号的binlog日志文件,跟重启一个效果 
flush logs;
#清空所有binlog日志 
reset master;

3、创建和删除数据库

create database test123; //创建数据库
#创建表
CREATE TABLE IF NOT EXISTS `test123`(
   `id` INT UNSIGNED AUTO_INCREMENT,
   `name` VARCHAR(100) NOT NULL,
   PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
#删除数据库
drop database test123;

 

4、恢复数据库

(1)执行语句:show master status;命令,找到当前mysql记录的binlog文件

(2)执行语句:show binlog events in ‘mysql-bin.000001’;查看binlog日志

(3)进入data文件夹:执行:mysqlbinlog --no-defaults mysql-bin.000001 >0001bin.sql 命令,将binlog文件导出为001bin.sql文件。(需要安装)

 

 

从此文件中可以看出创建数据库、创建表、设计表、添加表数据,删除数据的所有SQL语句。重新执行这些语句就能恢复。

小结

此方式适用于误删除数据库,且存在于binlog的情况,原理相当于重新执行一遍添加库、添加表语句。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值