MySQL中有六种日志文件,分别是:重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slow query log)、一般查询日志(general log),中继日志(relay log)。
我们今天重点来研究下BinLog.
当数据发生增删改,创建数据库对象都会记录到binlog中,数据库的复制也是基于binlog进行同步数据;
默认情况下,Mysql的BinLog是关闭的,5.7版本及以上,需要在my.cnf文件中通过配置开启,配置如下:
log_bin=/var/lib/mysql/bin-logs/mysql-bin
server-id=1
binlog_format=ROW
其中,mysql-bin为binlog文件的前缀,例如mysql-bin.000001
通过命令查看当前Binlog的相关配置:
show variables like '%log_bin%';
执行Delete语句:
delete from salaries
where emp_no='11090'
查看bin_log日志:
/usr/bin/mysqlbinlog --no-defaults --database=employees --base64-output=decode-rows -v --start-datetime='2020-10-05 16:00:00' --stop-datetime='2020-10-06 00:00:00' /var/lib/mysql/bin-logs/mysql-bin.000002 | more