q6542125 发表于 2015-8-21 12:16:01

lnmp vps服务器删除mysql日志文件三种方法

  我在上一篇文章介绍了著名的LNMP主机一键安装工具,对比了军哥lnmp和AMH主机的差别,由于AMH拥有用户后台界面,易于新手操作,值得推荐。
  但是,上周末我网站宕机,收到DNSPOD发来了宕机提醒,不得不半夜爬起来处理VPS问题,最终查明原因是AMH运行产生了大量的mysql数据库二进制文件,25GB的VPS硬盘几乎占满,导致网站不稳定,出现502宕机错误。
  AMH作者给出了解决办法,我不喜欢,其实后台修改配置就好了。考虑到所有lnmp vps用户的方便,我把所有解决办法都列出来给各位参考:
AMH后台面板关闭mysql日志

  这个办法最简单,登录amh主机后台面板,点击顶部菜单栏MYSQL--参数配置--是否开启mysql二进制日志,输入Off,保存,搞定。
cron任务定时删除日志
  这是amh作者给出的方案,我非常不满意,没有考虑vps配置环境,如果你直接拿来用,肯定出问题。
  在/home下新建一个dellog.sh
内容为



[*]#!/bin/bash
[*]cd /
[*]rm /home/usrdata/mysql*/mysql-bin* -f #删除MySQL日志
[*]rm /home/wwwroot/*/logs/*.log -f #删除网站日志
[*]amh nginx restart #Nginx重启
[*]amh mysql restart #MySQL重启
  然后执行命令



[*]chmod 755 /home/dellog.sh
  最后执行命令



[*]crontab -l
  添加内容



[*]0 4 1 * * /home/dellog.sh
  然后系统就会每个月的1号凌晨4点自动删除所有的日志文件
  说明:
  1 MySQL日志文件位置要自己修改,例如我用的是CentOS VPS,安装amh后,文件位置是在 /usr/local/mysql/data/
  2 rm /home/wwwroot/*/logs/*.log -f #删除网站日志 这句话也不对,网站默认目录其实是/home/wwwroot/*/log/
  3 cron任务,amh作者给出的是每月删除一次,根据我网站的情况,差不多两天时间,日志就占满整个VPS硬盘了,建议修改成每天凌晨4点删掉一次日志,即 0 4 * * * /home/dellog.sh
  提醒你,花几分钟时间学习一下crontab时间参数设置,上面共有五个字段,分别是分、时、号、月、星期:

修改mysql配置文件
  这是最彻底、最通用的办法,永久关闭mysql日志文件输出(参考来源)。

  1、删除mysql二进制日志


[*]# mysql -uroot -ppassword -e"reset master;"
  2、关闭二进制日志


[*]vi /etc/my.cnf
  注释如下代码:


[*]log-bin=mysql-bin
[*]binlog_format=mixed
  3、重启mysql服务器
  service mysqld restart
VPS推荐

采用SSD固态硬盘的digitalocean(注册就送10美元)

老牌日本机房的Linode

超高性价比的Vultr
页: [1]
查看完整版本: lnmp vps服务器删除mysql日志文件三种方法