mysql5.7 打开日志bin-log

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

1、首先确认你日志是否启用了mysql>show variables like ‘log_bin’。
mysql5.7 打开日志bin-log_第1张图片
编辑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';

mysql5.7 打开日志bin-log_第2张图片
mysql5.7 打开日志bin-log_第3张图片
2、查看正在写入的日志文件mysql> show master status,查看当前服务器所有的二进制日志文件show master logs.

二进制日志(binary log)默认放在数据目录下(系统变量datadir下)show variables like ‘datadir’;
mysql5.7 打开日志bin-log_第4张图片
查看当前binlog文件内容:show binlog events in ‘mysql-bin.000001’;

查看二进制文件内容:mysqlbinlog --no-defaults …/data/mysql_bin.000005
mysql5.7 打开日志bin-log_第5张图片
解密操作数据库的语句
mysqlbinlog --base64-output=decode-row -v ./data/mysql_bin.000005

mysql5.7 打开日志bin-log_第6张图片

实战

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

你可能感兴趣的:(#,数据库)