binlog的数量

[复制链接]
查看11 | 回复8 | 2008-11-27 14:56:58 | 显示全部楼层 |阅读模式
-rw-rw---- 1 mysql mysql525 Jan9 13:57 sql1-bin.000001
-rw-rw---- 1 mysql mysql340 Jan9 15:33 sql1-bin.000002
-rw-rw---- 1 mysql mysql149 Jan9 15:33 sql1-bin.000003
-rw-rw---- 1 mysql mysql149 Jan9 15:33 sql1-bin.000004
-rw-rw---- 1 mysql mysql149 Jan9 15:33 sql1-bin.000005
-rw-rw---- 1 mysql mysql149 Jan9 15:33 sql1-bin.000006
-rw-rw---- 1 mysql mysql149 Jan9 15:33 sql1-bin.000007
-rw-rw---- 1 mysql mysql149 Jan9 15:35 sql1-bin.000008
-rw-rw---- 1 mysql mysql149 Jan9 15:35 sql1-bin.000009
-rw-rw---- 1 mysql mysql149 Jan9 15:35 sql1-bin.000010
-rw-rw---- 1 mysql mysql149 Jan9 15:35 sql1-bin.000011
-rw-rw---- 1 mysql mysql149 Jan9 15:35 sql1-bin.000012
-rw-rw---- 1 mysql mysql297 Jan9 15:36 sql1-bin.000013
-rw-rw---- 1 mysql mysql234 Jan9 15:35 sql1-bin.index
logbin是不是一直循环到最大值.999999?
有木有一个变量控制他,从头开始?


回复

使用道具 举报

千问 | 2008-11-27 14:56:58 | 显示全部楼层
控制binlog文件大小参数max_binlog_size,如果大小达到max_binlog_size或者flush logs或者重启都可能发生切换
回复

使用道具 举报

千问 | 2008-11-27 14:56:58 | 显示全部楼层
谢谢你的回答。
我是问binlog的数量多少,而不是指文件的大小啊


回复

使用道具 举报

千问 | 2008-11-27 14:56:58 | 显示全部楼层
这是个有趣的问题,让我们来做个小小的实验
首先关闭mysqld进程,然后将最后一个bin log改名为mysql-bin.999997,同时修改mysql-bin.index文件,然后启动mysqld
好了,我们来flush logs吧

root@mysql [(none)] > show binary logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.999997 |970311 |
| mysql-bin.999998 | 106 |
+------------------+-----------+
2 rows in set (0.00 sec)
root@mysql [(none)] > flush logs;
Query OK, 0 rows affected (0.01 sec)
root@mysql [(none)] > show binary logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.999997 |970311 |
| mysql-bin.999998 | 149 |
| mysql-bin.999999 | 106 |
+------------------+-----------+
3 rows in set (0.00 sec)
root@mysql [(none)] > flush logs;
Query OK, 0 rows affected (0.05 sec)
root@mysql [(none)] > show binary logs;
+-------------------+-----------+
| Log_name
| File_size |
+-------------------+-----------+
| mysql-bin.999997|970311 |
| mysql-bin.999998| 149 |
| mysql-bin.999999| 150 |
| mysql-bin.1000000 | 106 |
+-------------------+-----------+
4 rows in set (0.00 sec)
root@mysql [(none)] > flush logs;
Query OK, 0 rows affected (0.01 sec)
root@mysql [(none)] > show binary logs;
+-------------------+-----------+
| Log_name
| File_size |
+-------------------+-----------+
| mysql-bin.999997|970311 |
| mysql-bin.999998| 149 |
| mysql-bin.999999| 150 |
| mysql-bin.1000000 | 150 |
| mysql-bin.1000001 | 106 |
+-------------------+-----------+
5 rows in set (0.00 sec)
复制代码
回复

使用道具 举报

千问 | 2008-11-27 14:56:58 | 显示全部楼层



回复

使用道具 举报

千问 | 2008-11-27 14:56:58 | 显示全部楼层
http://www.mysqlinfo.com/2011/11 ... %E7%90%86%E8%A7%A3/
看看这个吧
回复

使用道具 举报

千问 | 2008-11-27 14:56:58 | 显示全部楼层
justlooks 发表于 2012-1-9 17:47
这是个有趣的问题,让我们来做个小小的实验
首先关闭mysqld进程,然后将最后一个bin log改名为mysql-bin.9 ...

每flush logs一次 就会增加一个binlog文件?
我只知道每次服务器重启就会有一个新的binlog文件,至于这个binlog文件的个数能增长到多大,我觉得研究意义不大。因为做为服务器来说重启的次数本身就少。况且即使很大了,也可以根据实际情况删除一些太旧的日志文件吧
回复

使用道具 举报

千问 | 2008-11-27 14:56:58 | 显示全部楼层
在配置文件里设置expire_logs_days,表示bin log多少天后自动被删除,默认是0,表示没有时间限制,最大值为99,
回复

使用道具 举报

千问 | 2008-11-27 14:56:58 | 显示全部楼层
justlooks 发表于 2012-1-9 17:47
这是个有趣的问题,让我们来做个小小的实验
首先关闭mysqld进程,然后将最后一个bin log改名为mysql-bin.9 ...

这个测试有点意思,呵呵
一直没用大那么大,也没测试过
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行