mysql5.7 打开日志bin-log

进入mysql 的文件下(未配置环境变量),进入mysql 。

1、首先确认你日志是否启用了mysql>show variables like ‘log_bin’。
在这里插入图片描述
编辑mysql配置文件

[mysqld]
default_authentication_plugin=mysql_native_password
port = 3306
添加:
log_bin=mysql_bin  
binlog-format=Row
server-id=1
expire_logs_days = 7   //修改保存天数      --查看mysql> show variables like 'expire_logs_days';
max_binlog_size = 500M   //修改保存文件大小     --查看mysql>  show variables like 'max_binlog_size';

在这里插入图片描述
在这里插入图片描述
2、查看正在写入的日志文件mysql> show master status,查看当前服务器所有的二进制日志文件show master logs.

二进制日志(binary log)默认放在数据目录下(系统变量datadir下)show variables like ‘datadir’;
在这里插入图片描述
查看当前binlog文件内容:show binlog events in ‘mysql-bin.000001’;

查看二进制文件内容:mysqlbinlog --no-defaults …/data/mysql_bin.000005
在这里插入图片描述
解密操作数据库的语句
mysqlbinlog --base64-output=decode-row -v ./data/mysql_bin.000005

在这里插入图片描述

实战

新建数据表插入数据并删除表格.
在这里插入图片描述
flush logs会生成新的mysql-bin.00000数+1文件
在这里插入图片描述
在这里插入图片描述
show binlog events in ‘mysql_bin.000006’;
解密操作数据库的语句mysqlbinlog --base64-output=decode-row -v ./data/mysql_bin.000006
记录开始插入和最后一条记录commit对应的at后的值
在这里插入图片描述
恢复数据:>mysqlbinlog --start-position=“219” --stop-position=“628” …/data/mysql_bin.000006 |mysql -uroot -p
在这里插入图片描述

发布了0 篇原创文章 · 获赞 27 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/yimenglin/article/details/104801984