进入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