淘主机论坛

 找回密码
 成为淘友

QQ登录

只需一步,快速开始

KT服务器促销中 100M带宽 10T流量 超值传送门:会员注册及发帖规则 发帖看过来
查看: 3120|回复: 1

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

[复制链接]
发表于 2012-4-25 07:40:28 | 显示全部楼层 |阅读模式
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 日志文件呢?

红色表示输入的命令:

[root@jiucool var]# /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 distribution
Type ‘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文件夹占用多少空间?

[root@jiucool var]# 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日志文件占用这么大空间,存在的意义又不是特别大,那么我们就不让它生成吧.

[root@jiucool var]# 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  启动

您需要登录后才可以回帖 登录 | 成为淘友

本版积分规则

小黑屋|手机版|Archiver|淘主机

GMT+8, 2024-4-28 01:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表