max_binlog_size & log-bin 大小

waz*_*123 8 mysql mysql-replication

我有完整磁盘的问题

-rw-rw----  1 mysql mysql 1073741982 2012-07-03 18:14 mysql-bin.000034
-rw-rw----  1 mysql mysql 1073741890 2012-07-04 14:39 mysql-bin.000035
-rw-rw----  1 mysql mysql 1073741988 2012-07-05 09:16 mysql-bin.000036
-rw-rw----  1 mysql mysql 1073741964 2012-07-06 00:04 mysql-bin.000037
-rw-rw----  1 mysql mysql 1073741974 2012-07-06 21:45 mysql-bin.000038
-rw-rw----  1 mysql mysql 1073741923 2012-07-07 19:05 mysql-bin.000039
-rw-rw----  1 mysql mysql  356167680 2012-07-07 23:47 mysql-bin.000040
Run Code Online (Sandbox Code Playgroud)

我的.cnf:

max_binlog_size = 1073741824
log-bin = mysql-bin
max_relay_log_size = 1G
relay_log_space_limit = 2G
Run Code Online (Sandbox Code Playgroud)

mysql 正在创建文件 mysql-bin.xxxxx 并且几天后我的磁盘已满。

如何让mysql删除旧日志?

小智 9

除了设置之外,expire_logs_days您还可以立即运行命令来清除旧日志:

mysql> PURGE BINARY LOGS TO 'mysql-bin.000039';

确保没有从服务器正在从您尝试清除的日志中读取,否则您将破坏复制。

请参阅MySQL 参考手册:二进制日志

  • 小更正 - 它是 expire_logs_days(注意“日志”而不是“日志”) - 有关更多详细信息,请参见 http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_expire_logs_days (2认同)