linux系统mysql服务启动失败 10
error manager of pid file quit without updating file
各位帮帮忙,谢谢啦 展开
解决“linux系统mysql服务启动失败”问题的具体步骤如下:
1、首先我们查找mysql.sock的文件位置,如果忘记了文件的位置,首先查看/etc/my.cnf文件。
2、然后我们将mysql.sock文件进行改名,使用linux的mv命令即可,这里我们改为mysql.sock.bak0830。
3、然后这时候我们再使用命令启动mysql,service mysqld start,会看到出现mysqld启动OK的字样。
4、可以通过ps –ef|grep mysql,查看一下mysql的进程,如下发现mysql已经启动了。
5、可以通过数据库连接工具进行mysql的相关操作了,比如查看目前存在的连接情况等。
6、mysql启动的时候错误可以通过日志进行判断,日志的路径同样在my.cnf中可以看出。
这样就解决了“linux系统mysql服务启动失败”的问题。
“error manager of pid file quit without updating file”这个错误通常是配置不当造成的,绝大多数是跟/etc/my.cnf有关系。
在出现这个错误后,可以查看mysql的数据目录,也就是datadir下的xx.err文件,xx是用户名,查看该文件底部的最新日志,就可以看到具体的报错项目,有的是启动参数不对,有的是配置文件错误,有的是比如下面这种诡异情况,总结来讲还是要学会看日志排查错误。
1、如图被选定内容所示,新装的myql启动失败,报错:
ERROR!Manager of pid-file quit without updating file
2、查看错误日志可以看到以下内容:
主机名是“Host A”,但是错误日志里面却出现了“A.pid”、“mysqld_safe mysqld from pid file /data/mysql/Host ended”等提示,推测可能是主机名中存在空格导致mysql一直无法定位正确的pid file
3、更改主机名,去掉空格,重启机器后,mysql即可正常启动。
扩展资料
当然也有可能是/usr/local/mysql/data/mysql.pid文件没有写的权限、进程里已经存在mysql进程、是第二次在机器上安装mysql,有残余数据影响了服务的启动、错误日志目录不存在等问题。想要解决这些问题最好的办法是查看错误日志。
1、可能是/usr/local/mysql/data/mysql.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后存盘退出重启机器试试。
1.首先要运行一下
比如说我的mysql安装在/opt/mysql下面
#cd /opt/mysql
#scripts/mysql_install_db --user=mysql (确认你有mysql用户)
如果不行,检查你的/opt/mysql(这是我的)下面有没有data目录,正确的做法是先启动一次如果OK,再移data目录到别的地方。
两个方法解决
1.如果你没有修改过my.cnf文件,请修改,然后把添加datadir
[mysqld]
port = 3306
socket = /tmp/mysql.sock
datadir = /data/mysql/data
这时候,你在/opt/mysql下面建一个软链接到/etc/my.cnf
#cd /opt/mysql
#ln -sf /etc/my.cnf my.cnf
2.或者你在/opt/mysql下面建一个data的软链接
#cd /opt/mysql
#ln -sf /data/mysql/data data
如果还不行,你就得查看你已经注册成服务的mysqld
#cd /etc/init.d/
#vim mysqld
一般的默认是安装在/usr/local下面的,所以你要修改这个目录的名称及指向。
再不行,你得查一下
/opt/mysql/data/localhost.err文件报什么错。
再按错误来解决。
我之前是少了一个libstdc++.so.5的库,从别的地方copy了一个就OK了
正确流程如下:
#cd /opt/mysql
#scripts/mysql_install_db --user=mysql
成功
#cd .;./bin/mysqld_safe & //这是运行一个demo
查一下进程树
#ps aux | grep mysql //如果有就可以运行
/opt/mysql/support-files/mysql.server start //修改一下mysql.server文件,这个脚本文件其实就是init.d/mysqld文件,默认路径在/usr/local下面
成功了就可以用了
/opt/mysql/bin/mysql
愿你早日解决些事。
记得权限的问题,--user=mysql来启动创建初始化table,你的data目录要有写权限。
2011-03-31
如果你想通过 start stop status改变或显示mysql服务得状态。
请
[root@localhost mysql]# cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysql.server
[root@localhost mysql]# /etc/init.d/mysql.server status
MySQL is not running [失败]
[root@localhost mysql]# /etc/init.d/mysql.server start
Starting MySQL. [确定]
[root@localhost 桌面]# /etc/init.d/mysql.server status
MySQL running (3464) [确定]
另外,虚机团上产品团购,超级便宜