淘主机 发表于 2012-4-25 07:40:28

Linux中删除/关闭MySQL日志的方法 避免MySQL日志占用大量空间

MySQL的日志在日常的读取和应用操作中会有很多的日志产生,从而不知不觉的占用空间,吃掉存储。我们可以使用 删除MySQL log bin日志操作记录的方法来减少空间占用,同时也可以i关闭MySQL的日记记录来避免问题再次发生。如果有可能将来会有查询日志的机会,请删除前先压缩备份。下面是具体方法!
本文部分转自kaka的空间!
之前发现自己10G的服务器空间大小,用了几天就剩下5G了,自己上传的文件才仅仅几百M而已,到底是什么东西占用了这么大空间呢?今天有时间彻底来查了一下!
看下上面的目录web根目录是放在/home 里面的,所有文件加起来才不到300M,而服务器上已经占用了近5G空间,恐怖吧,最后经我一步一步查询得知,原来是mysql文件夹下的var目录占用空间最大,那里面是啥 内容呢?我们来看下!
发现了如此多的 mysql-bin.0000X文件,这是什么东西呢?原来这是mysql的操作日志文件.我才几十M的数据库,操作日志居然快3G大小了.
如何删除mysql-bin.0000X 日志文件呢?

红色表示输入的命令:
# /usr/local/mysql/bin/mysql -u root -p
Enter password: (输入密码 隐藏的)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 264001
Server version: 5.1.35-log Source distributionType ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql> reset master; (清除日志文件)
Query OK, 0 rows affected (8.51 sec)
mysql>
好了,我们再来查看下mysql文件夹占用多少空间?
# du -h –max-depth=1 /usr/local/mysql/
37M   /usr/local/mysql/var
70M   /usr/local/mysql/mysql-test
15M   /usr/local/mysql/lib
448K    /usr/local/mysql/include
2.9M    /usr/local/mysql/share
7.6M    /usr/local/mysql/libexec
17M   /usr/local/mysql/bin
11M   /usr/local/mysql/docs
2.9M    /usr/local/mysql/sql-bench
163M    /usr/local/mysql/
好了,看一下,整个mysql 目录才占用163M大小!OK,没问题,既然mysql-bin.0000X日志文件占用这么大空间,存在的意义又不是特别大,那么我们就不让它生成吧.
# find / -name my.cnf
找到了my.cnf 即mysql配置文件,我们将log-bin=mysql-bin 这条注释掉即可(前面加#).
# Replication Master Server (default)
# binary logging is required for replication
#log-bin=mysql-bin
注意:要操作下面
####binary logging format - mixed recommended
#binlog_format=mixed
如关闭log-bin记录,则上免的binlog选项需全部关闭,否则开启MYSQL 会有binlog_format 初始化,找不到LOG-BIN,MYSQL开不起来,停N久都停不了,只能用kill ID 。
操作后重启下mysql.
OK,至此,操作完成. 以后再不会因为就几十M的数据库大小生成N个G的日志文件啦.

淘主机 发表于 2012-4-25 07:58:00

停止MySQL服务的方法参考:

1. service mysqld stop 停止
service mysqld start 启动

2. root下执行:killall -9 mysqld
3.
/etc/rc.d/init.d/mysqld stop停止
/etc/rc.d/init.d/mysqld start启动

页: [1]
查看完整版本: Linux中删除/关闭MySQL日志的方法 避免MySQL日志占用大量空间