Mysql数据库日志大量占用磁盘空间导致速度缓慢

网站运行缓慢,检查发现 Linode 的磁盘空间快要满了,硬盘空间少会会导致网站速度慢,如果空间已满,还会导致网站无法访问。 检查了一下原因,是因为以前安装 lnmp环境安装包的时候程序默认不关闭 Mysql 的日志文件,导致在 /usr/local/mysql/var/ 下生成了许多名为 mysql-bin.0000* 的日志文件,每一个日志文件的大小都有1G,时间久了会占用硬盘空间。因此我们需要清理这些文件。 首先,xshell 连接 Linode 后, 执行命令查看磁盘空间 df -h 接着会出现类似下面这样的信息: [root@li1207-110 ~]# df -h Filesystem      Size Used Avail Use% Mounted on /dev/sda        20G   15.5G 3.5G  80%  / tmpfs           493M 192K   493M   1%  /dev/shm 这位学员用的是5美金方案的 Linode,SSD硬盘 20G 容量,已用了 15.5 G 以上。 我们用 XFTP 到 /usr/local/mysql/var/ 下看一下,确实有几个较大的名为 mysql-bin.0000* 的文件。如:mysql-bin.000015,mysql-bin.000016 等等。。 清理 MySQL 日志文件 执行:/usr/local/mysql/bin/mysql -u root -p 接着提示 Enter password: 输入数据库管理员密码(root password of Mysql Database),注意输入的时候是不显示输入状态的,字符不可见。所以你可以在记事本上先写好密码,然后复制,再鼠标右键粘贴进去,粘贴进去的时候也不显示,直接回车即可。 然后会提示:mysql> 此时复制并执行下面的命令,注意复制的时候要包含分号,粘贴,回车执行。 reset master; 执行完后会提示类似于:“Query OK, 234 rows affected (12.3 sec)”,说明已经成功。 再输入:quit  退出 mysql 命令模式。 此时在 XFTP 窗口中点击刷新按钮,可以看到 /usr/local/mysql/var/ 下的名为 mysql-bin.0000* 的日志文件已经清理掉。(注意其他的文件不要去手动删除) 我们再次执行 df -h 命令。 [root@li1207-110 ~]# df -h Filesystem     Size   Used  Avail Use% Mounted on /dev/sda       20G    8G   10G   42%   / tmpfs          493M   192K  493M  1%    /dev/shm 可以看到空余了不少磁盘空间。 定期自动清理MySQL日志 用 Xftp 连接打开 VPS 的根目录,找到根目录下的 etc 目录,在该目录下有个名为 my.cnf 的文件。这个文件即为 MySQL 数据库的配置( cnf=Configuration) 文件。 下载(或 vi 命令)用 notepad++ 修改编辑打开它,可以看到这一行: expire_logs_days = 10 这是代表数据库日志文件过10天就失效并清理。如果你的网站流量很大(或者将来会流量很大),那么即使是 10天产生的日志文件也会很大。 因此我们可以把 10 改成 5。上传覆盖原 my.cnf 文件,然后重启 mysql。 service mysql restart 这样每过 5 天就会自动清理日志。 我们也可以彻底禁用 MySQL 日志。 彻底禁用MySQL日志 修改/etc/my.cnf 文件,找到 log-bin=mysql-bin binlog_format=mixed 在这两行前面加上#,将其注释掉。上传覆盖原 my.cnf 文件,然后重启 mysql。

友情提示:点赞熊源码网http://www.dianzanxiong.com点赞熊源码网 » Mysql数据库日志大量占用磁盘空间导致速度缓慢
分享到:
赞(0)
广告位820*80