前言:基于虚拟机mysql版本为5.7,增量备份测试那就要用到binlog…
简述:二进制日志(binnary log)以事件形式记录了对MySQL数据库执行更改的所有操作。
binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE…)以及表数据修改(INSERT、UPDATE、DELETE…)的二进制日志。不会记录SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改,但可以通过查询通用日志来查看MySQL执行过的所有语句。
需要注意的一点是,即便update操作没有造成数据变化,也是会记入binlog。
binlog有两个常用的使用场景:
主从复制:mysql replication在master端开启binlog,master把它的二进制日志传递给slaves来达到master-slave数据一致的目的。
数据恢复:通过mysqlbinlog工具来恢复数据。
1、查询binlog日志是否开启
mysql> show variables like '%log_bin%';
2、修改C:\ProgramData\MySQL\MySQL Server 5.7
如图增加以下2条语句
log-bin=mysql-bin
binlog-format=Row
3、重启mysql服务
4、进入mysql查询binlog是否开启
mysql> show variables like '%log_bin%';
5、实时动态查看日志
查看开启状态
mysql> show variables like "general_log%";
设置状态为开启
mysql> set global general_log = 'ON';
6、测试binlog是否生效,测试创建test8数据库插入几条数据
mysql> create database test8 default character set utf8;
mysql> use test8;
mysql> create table test8(id int);
mysql> insert into test8 values(1);
mysql> insert into test8 values(2);
...
mysql> show binlog events;
这时可以看到binlog进行了update,并且可查看刚操作记录以及POS(这里的pos就等同于oracle里的scn)
=