Mysql 二进制文件

二进制文件记录了对数据库执行的所有操作,不包括select和show. 开启二进制文件会使mysql性能下降百分之1
作用:
1. 恢复(recovery): 用户恢复数据
2. 复制(replication): 可以使备用mysql服务器(slave)进行实时同步

我的 datadir是/usr/local/var/mysql/.
先确定log-bin是否则开启了

mysql> show variables LIKE "log_bin"

如果没有开启, 修改my.cnf

log_bin=bin-log  #bin-log是名字

此时再显示datadir目录会看到两个文件

-rw-rw----     1 _mysql  _mysql   326B  6 14 17:52 bin-log.000001
-rw-rw----     1 _mysql  _mysql    17B  6 14 17:52 bin-log.index

bin-log.000001 二进制日志文件
bin-log.index 二进制日志索引文件

配置

max_binlog_size=1024M

查看日志, mysql自带了一个mysqlbinlog的工具

sudo mysqlbinlog --start-position=1 bin-log.000001 | more

使用binlog进行数据会滚

#查询指定时间内的操作并且生成一个sql. 由于我有多个bin-log 所以我是 bing-log.*
$mysqlbinlog --start-datetime="2018-06-01 18:19:00" --stop-datetime="2018-06-01 18:24:00" bin-log.* > ~/test3.sql
$ mysql -uroot -proot < ~/test3.sql