您的位置:首页 > 数据库 > MySQL

MySQL启动错误:Error writing file '/var/run/mysqld/mysqld.pid'

2015-07-13 13:59 555 查看
通常是因为磁盘空间已满造成的,你需要知道原因和如何预防。你可以通过df -h来查看磁盘情况。[root@techbrood etc]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 ?G ?G ?G 100% /
...Use%=100%表示根目录空间已满,无法再创建或写入内容。使用du -sh --max-depth / 查看目录情况并逐级别向下查看,找大根源。通常有以下几个地方需要注意:1. 邮件目录/var/spool/postfix/maildrop/如果你创建了很多的定时任务cronjob,那么未发送邮件将充斥在该目录下,导致该目录下产生大量小文件。如果出现这种情况,先清除:ls | xargs -n 100 rm -fr ls
然后在cronjob中注明不发送邮件:crontab -e加上MAILTO=""2. Web服务器日志检查下是否由于调试而打开了access_log,清空,并禁用。3. 数据库文件目录及索引引擎数据目录如果你使用了MySQL,执行如下命令来查看数据库文件所在目录:show variables like '%datadir%';
默认目录为:/var/lib/mysql要修改为/home/mysql,按如下步骤操作:a、停止mysqld
service mysqld stop
b、vi /etc/my.cnf
在[mysqld]中,把datadir=/var/lib/mysql更改为datadir=/home/mysql,把socket=/var/lib/mysql.sock更改为socket=/home/mysql/mysql.sock:
[mysqld]
datadir=/home/mysql
socket=/home/mysql/mysql.sock
在[mysql]中添加socket路径:
socket=/home/mysql/mysql.sock
c、移动data目录
mv /var/lib/mysql /home
d、vi /etc/init.d/mysqld
把get_mysql_option mysqld datadir “/var/lib/mysql” 修改为 get_mysql_option mysqld datadir “/home/mysql”。
如果你使用了lucene或sphinx,那么最好把索引数据路径设置在/home下面。比如对于sphinx,在sphinx.conf中修改index配置的path参数为 /home/data/...。
by iefreer
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息