binlog是mysql操作时留下的日志。如果后续我们需要配置主从数据库,如果我们需要从数据库同步主数据库的内容,我们就可以通过binlog来进行同步。
如何开启并查看binlog?
1,从sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf进入,找到log_bin,取消注释,保存。重启数据库就行了。登录mysql,用show variables like '%log_bin%'查看是否开启logbin,有开启的话直接跳到三,还是不行的话,继续第二步
2,进入 sudo vim /etc/mysql/my.cnf,在[mysqld] 下增加,log-bin=mysql-bin,保存
3,重启mysql(service mysql restart)
4,查看是否开启:show variables like '%log_bin%';
查看logbin日志(针对做了步骤2的,没有的话日志不是放在这个位置):
找到目录:cd /var/lib/mysql
查看日志:mysqlbinlog mysql-bin.000001
即可查看之前的操作日志
我们还可以在数据库直接进行查看:show binlog events in "mysql-bin.000001";
如果某天不小心把数据给删了,可以通过binlog进行反解,大概步骤如下,
找到event_type为query的,这里记录你所有的动作,我们可以看到delete或者truncate之类的,我们可以把它排除,然后提取出增删改之类的操作,然后进行还原
阿里有一款开源的工具叫canel,就是运用这个原理做成的