linux系统mysql服务启动失败

启动时出现错误:starting mysql 。。。。
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服务启动失败”的问题。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-10-09

“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后存盘退出重启机器试试。

本回答被网友采纳
第2个回答  推荐于2017-11-24
权限问题。,copy份给你!
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目录要有写权限。本回答被网友采纳
第3个回答  2011-03-31
ql_safe --user=root & 这个是最原始的
如果你想通过 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) [确定]
另外,虚机团上产品团购,超级便宜
相似回答