目录
环境
本篇是在windows环境配置的,linux大同小异。
配置开启binlog
查看binlog是否开启
命令是
show variables like '%log_bin%';
表示开启状态
查找配置文件位置
windows下mysql配置文件是在data同级目录下,而不是安装位置(踩过坑),所以先找到data目录。命令是
show variables like '%datadir%';
修改配置文件
添加binlog信息
# Binary Logging.
log-bin=mysql-bin
binlog-format=Row
重启mysql服务生效
重启mysql服务,再次命令查看是否生效
show variables like '%log_bin%';
恢复删除数据
利用binlog日志恢复删除数据
新建测试表
我本地新建了测试表test
插入一条数据,再删除该数据
直接操作就好
查看data目录下生成的binlog
用mysqlbinlog命令查看生成的binlog文件
我这里先把生成的binlog复制到bin目录下(mysqlbinlog位于bin目录下),方便查看
打开命令窗口,输入查看命令
mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000001 > d://test.sql
–no-defaults:忽略默认设置. --base64-output=decode-rows -v:是日志中base64内容正常显示。
查看生成的test.sql
可以清楚地开到在两个事务中插入和删除了一条数据。
mysqlbinlog命令还有很多参数,比如指定位置pos、时间、数据库、表,这里不再详解。
利用找到的sql恢复数据
有了sql想恢复的话就很简单了