mysql Starting MySQL..The server quit without updating PID file

今天在linux中启动mysql时提示mysql Starting MySQL..The server quit without updating PID file了,下面我来给大家介绍解决办法。
先说下我自己的情况:
遇到两种情况启动不了。
第一次是 新安装mysql无法启动于是安照下面的网上统计的方法一个一个试,最终试到第4个解决的

第二次情况是 我修改了机器名(补充为第8种情况吧)这样报了个 Starting MySQL..The server quit without updating PID file (/opt/mysql/data/xxx.pid).
xxx为新的机器名。
进入mysql/data目录发现.pid 文件发现本地的是 localhost.pid 于是重命名为xxx.pid 启动就ok了
(顺便简单说下 rename重命名命令:
rename 三个参数
  第一个参数:被替换掉的字符串
  第二个参数:替换成的字符串
  第三个参数:匹配要替换的文件模式。
如此处用的是: rename localhost xxx *.pid)
第三种:与第二种类似,只是缺少xxx.pid文件。这时:
1)ps -ef |grep mysql 找出mysql的进程,如:1234;(如果没有就算了)
2)把1234 写到xxx.pid文件中(此处我是没有正在运行的msyql线程, echo ''> xxx.pid)
3)重新启动mysql;

--------------------------------------------------------华丽的分界线-------------------------------------------------------------------------
从网上找了一堆方法如下,第8条是自己碰到的:
1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data”  然后重新启动mysqld!
2.可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9  进程号”杀死,然后重新启动mysqld!
3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。
4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data
5.skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。
6.错误日志目录不存在
解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限
7.selinux惹的祸,如果是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。
但是没有解决,最后直接给/usr/local/mysql/data 目录 chmod 777 -R  /usr/local/myql/data 问题解决 应该是 权限问题,不能生成localhost.localdomain.pid 文件
8.修改了机器名,报了个 Starting MySQL..The server quit without updating PID file (/opt/mysql/data/xxx.pid).
xxx为新的机器名。
进入mysql/data目录发现.pid 文件发现本地的是 localhost.pid 于是重命名为xxx.pid 启动就ok了

猜你喜欢

转载自zhx870127-hotmail-com.iteye.com/blog/1997864