linux下启动mysql提示:Timeout error occurred trying to start MySQL Daemon

启动 mysqld 时经过很长时间显示
Timeout error occurred trying to start MySQL Daemon.
终端进入 mysql 时显示
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

后来查到是 /var/log/httpd/ 下一个日志文件把磁盘空间满了造成的,删除后重启服务器就好了。

 

apache日志管理以及大日志清除方法

web服务器日志轮循比较好的方式有三种:
第一种方法是利用Linux系统自身的日志文件轮循机制:logrotate;
第二种方法是利用apache自带的日志轮循程序rotatelogs;
第三种是使用在apache的FAQ中推荐发展已经比较成熟的一个日志轮循工具cronolog。

这里我给大家带来的是用apache自带的日志轮循程序rotatelogs,并用shell脚本定期删除日志文件,只保留近3天的文件,以免日志文件占满
磁盘空间。
修改主配置文件httpd.conf
找到以下内容,并修改成:
ErrorLog /var/log/httpd/error_log
CustomLog "|/usr/local/apache2/bin/rotatelogs  /var/log/httpd/access_log 86400 400M" combined
# 86400    ---日志滚动的时间是一天
# 400      ---日志文件最大400M就滚动
# combined ---采用复合格式

然后建立清除日志文件的shell脚本,文件名为clean_log
#! /bin/bash
logdir=/var/log/httpd
cd ${logdir}
declare -i filesum=`ls access_log.* | wc -l`
declare -i delnum=$filesum-3
if [ "${delnum}" -ge 1 ];then
rm -rf `ls -tr access_log.* | head -${delnum}`
fi

chmod 755 clean_log
这样就保留了最近3天的日志文件。

建立自动化任务
01 04 * * * /usr/local/crontab/clean_log
ok,搞定,就这么简单。这样你就不用不必为日见增大的日志文件烦恼了!

 

posted on 2017-11-02 23:19  James赵  阅读(2701)  评论(0编辑  收藏  举报