mysql使用binlog恢复使用delete误删的数据
来源:互联网 发布:洗数据 编辑:程序博客网 时间:2024/05/22 07:46
在我们平时使用MySQL数据库的时候,可能会出现delete from table_name 忘记写条件语句而导致删除了整个表的数据。
这个时候就很棘手了。如果公司的数据库都有开启数据备份那自然是没有问题。source 一下备份下来的sql文件就好。
但是如果没有备份数据呢?
办法还是有的。
答案就是bin log。
MySQL带了一个 bin log 的功能,
但是默认是没有开启的。
我们可以敲入
show VARIABLES
命令。
我们会发现log_bin的值是OFF,所以我们需要开启bin log的功能。
如何开启呢?也是很简单的。
我们在my.ini文件配置下即可。就是以前安装MySQL的那个配置文件。
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
log-bin=mysql-bin
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=F:\mysql\mysql-5.6.21-winx64\mysql-5.6.21-winx64
# 设置mysql数据库的数据的存放目录
datadir=F:\mysql\mysql-5.6.21-winx64\mysql-5.6.21-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
红色的字是笔者特意标红的。在原有的配置上添加即可。
重启下MySQL服务,bin log就是起起来了。
现在笔者的test数据库下的user表中有这么多数据
我们先用命令将记录刷到log bin中
FLUSH LOGS ;
我们可以看到在MySQL的安装目录下的data目录下多了mysql-bin.000001和mysql-bin.000002这两个文件
现在我们模拟一个误操作。
将数据全部删除掉。
我们可以使用
mysqlbinlog --start-date="2012-10-15 16:30:00" --stop-date="2017-6-11 17:16:00" F:\mysql\mysql-5.6.21-winx64\mysql-5.6.21-winx64\data\mysql-bin.000001 |mysql -uroot -p
来进行恢复。
- mysql使用binlog恢复使用delete误删的数据
- 使用mysql的binlog恢复误操作(update|delete)的数据
- 使用 mysql binlog 恢复数据
- 使用binlog恢复数据
- mysql使用binlog恢复数据 与 union 与 索引优化
- Windows下,MySql使用binlog恢复表和数据初级教程
- Windows下,MySql使用binlog恢复表和数据初级教程
- MYSQL数据BINLOG恢复
- mysql binlog恢复数据
- 使用MySQL binlog进行不完全恢复
- 使用MySQL自身复制来恢复binlog
- 利用mysql的binlog恢复数据
- 利用mysql的binlog恢复数据
- 利用mysql的binlog恢复数据
- 利用mysql的binlog恢复数据
- 利用mysql的binlog恢复数据
- 活用mysql的binlog进行数据恢复
- mysql的binlog进行数据恢复
- template类模版实例化易出现的问题
- Problem A
- HTML5 inline-block和float的共性和区别
- Nginx反向代理和负载均衡部署指南
- 用git命令克隆github项目
- mysql使用binlog恢复使用delete误删的数据
- WIN7右键在目录当前打开命令行Cmd窗口
- R语言将层次聚类中的树分成簇
- 几点感想-20170611
- spark源码之sparkEnv(1)RPC通信
- Java实现-打劫房屋2
- 拓扑排序
- leetcode 260. Single Number III
- Problem C