max_binlog_cache_size:最大二进制日志缓存大小,通常采用默认值即可,编写方式如下所示:
max_binlog_size:如果二进制日志写入的内容超出给定值,则日志就会发生滚动。注意不能把该变量设置为大于1GB或小于4096字节,默认值是1GB。如果正在提交比较大的事务,则二进制日志的大小有可能会超过max_binlog_size值,从而引发报错,通常采用默认值即可,编写方式如下所示:
expire_logs_days:删除超过N天的二进制日志,通常采用默认值即可,编写方式如下所示:
在更改配置文件/etc/my.cnf之后,通过如下命令可重启MySQL服务器,检查是否开启了MySQL的二进制日志文件:
结果如图所示。
重新查看log_bin启动结果,如图所示。
如果在重启MySQL之后,无法正常启动MySQL,或者log-bin没有正常开启,则可以查看Linux系统下的两个日志文件是否有错误:
一 般 来 说 , 在 输 入 相 对 路 径 时 , 二 进 制 日 志 的 存 放 地 址为/var/lib/mysql,如图所示。
每次重启MySQL服务器都会生成一个新的二进制日志文件,相当于对二进制日志进行了切换。在切换二进制日志时,会看到mysql-bin文件的number在不断递增。
除二进制日志文件外,还生成了一个.index文件。这个文件中存储了所有二进制日志文件的清单,又称为二进制文件的索引。
查看二进制日志文件的名称、大小和状态
查看二进制日志文件的名称和大小的命令如下所示:
结果如图所示。
也可以输入如下命令进行查看:
该命令等价于show binary logs;命令,结果如图所示
查看当前二进制文件状态的命令如下所示,结果如图所示。
删除某个日志之前的所有二进制日志文件
在前面介绍过,可以通过expire_logs_days参数设定根据时间自动删除二进制日志。下面介绍如何通过purge命令手动删除某日志之前的所有二进制日志文件。首先,查看当前MySQL中的二进制日志文件,命令如下所示: