全球主机交流论坛

标题: 删除Mysql的MySql- bin.0000X日志文件 [打印本页]

作者: shinko    时间: 2010-5-26 21:36
标题: 删除Mysql的MySql- bin.0000X日志文件
装mysql,运行一段时间后,在mysql目录下出现一堆类似 mysql-bin.000***,从mysql-bin.000001开始一直排列下来,而且占用了大量硬盘空间,高达几十个G.  对于这些超大空间 占用量的文件我们应该怎么办呢?

我的数据库加起来大概100M吧..但/usr/local/mysql/var这个目录竟然有548M,MySql-bin.0000文件大概占了400+M,真浪费空间啊


那么mysql数据库文件夹中的mysql-bin.00001是什么文件?
mysql-bin.000001、mysql- bin.000002等文件是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志 文件中,还包括每个语句执行的时间,也会记录进去的。
那么这些文件该怎么删除和禁止呢?
禁止方法: vi /etc/my.cnf把里面的
#log-bin=mysql-bin
#binlog_format=mixed
注释掉,重启mysql服务即可.
删除方法:
输入命令:

/usr/local/mysql/bin/mysql -u root -p



输入密码登陆mysql后,运行命令:

reset master;
(包括;号)
清空日志文件.再查看Mysql文件的大小,已经小了很多了.
-bash-3.2# du -h –max-depth=1 /usr/local/mysql/var
du: cannot access `\250Cmax-depth=1': No such file or directory
142M    /usr/local/mysql/var





http://imcat.in/delete-mysql-bin-0000x-mysql-log-file/

[ 本帖最后由 shinko 于 2010-5-26 22:20 编辑 ]
作者: lulu7053    时间: 2010-5-26 21:45
技术贴~沙发
作者: nsbase    时间: 2010-5-26 22:01
哈哈
作者: msxcms    时间: 2010-5-26 22:03
禁止方法: vi /etc/my.cnf把里面的 log-bin 这一行注释掉,重启mysql服务即可.(但是我注释掉后,Mysql无法启动,没空去找原因了)


下面有一条跟log-bin相关的参数也得注释掉
作者: bzdk    时间: 2010-5-26 22:27
bin log是mysql用来实现replication(复制)功能的,记录了master(主mysql)上所提供复制功能的库的数据操作历史(query log),供slave(从mysql)通过网络(本地多mysql实例也可以组成主从)获取,并通过执行这些query log获得与master上数据的一致。

如果不需使用复制功能,bin log其实无需开启。
作者: eudx    时间: 2010-5-26 22:27
以前只是注释掉了 然后就不生成了
再查看Mysql文件的大小,已经小了很多了
这个 reset master;
没用过
然后数据库都会小很多?




欢迎光临 全球主机交流论坛 (https://loc.888543.xyz/) Powered by Discuz! X3.4