我是靠谱客的博主 淡然白开水,最近开发中收集的这篇文章主要介绍mysql without updating pid file_MySQL启动报The server quit without updating PID file (/data/mysql/da......,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我有两台控制器,在重启之后发现mysql服务都起不来了。

在其中一台控制器上开始查找原因:

在/etc/my.cnf配置文件中可以看到如下字样:[mysqld_safe]

log-error=/usr/local/mysql/mysqlerr.log

pid-file=/usr/local/mysql/mysqld.pid

mysqld=mysqld

log-error的值就是mysql的日志路径,去检查了下mysqlerr.log的内容,发现说是controller-1.pid的问题

mysqld_safe mysqld from pid file /data/mysql/data/controller-1.pid ended

然而并不知道这个文件究竟哪里有问题了,于是去网上查资料,说直接删除my.cnf文件后重启mysql就可以,试了一下,果然成功了。

在将同样的解决方法用在另一台控制器上,欣赏一下结果:>> systemctl status mysqld

mysqld.service - LSB: start and stop MySQL

Loaded: loaded (/etc/rc.d/init.d/mysqld)

Active: active (running) since Tue 2018-04-10 15:18:19 CST; 1s ago

Process: 21275 ExecStop=/etc/rc.d/init.d/mysqld stop (code=exited, status=0/SUCCESS)

Process: 22841 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=0/SUCCESS)

CGroup: /system.slice/mysqld.service

├─22853 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql/data --pid-file=/data/mysql/data/controller-2.p...

└─23330 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql/data --plugin-dir=/usr/local/mysq...

Apr 10 15:18:19 controller-2 mysqld[22841]: Starting MySQL SUCCESS!

Apr 10 15:18:19 controller-2 systemd[1]: Started LSB: start and stop MySQL.

很开心,然而!当我连接数据库的时候:>> mysql -uroot -p

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

尴尬了,这是为什么?

查看一下/etc/rc.d/init.d/mysqld的状态:>> /etc/rc.d/init.d/mysqld status

ERROR! MySQL is not running, but PID file exists

它说mysql根本没跑起来,find一下mysql.sock文件,果然没有。

网上有人说mysql.sock套接字文件可以简单地通过重启服务器重新创建得到它,然而重启之后还是没啥变化,mysql.sock没有生成出来。接下来了解到mysql.sock是一个临时文件,在mysql启动时会自动生成,我的服务器未启动,自然就没有mysql.sock文件。

到这里思路开始阻塞了,不知道该怎么办,只能继续查看日志文件,妄图找到一点儿蛛丝马迹,正在看着mysqlerr.log文件的内容,往上翻啊翻,真的让我看到一个报错信息,在mysql启动的最开始阶段,报了个如下的错误:[ERROR] Can't start server : Bind on unix socket: Permission denied

一看是权限的问题,但是我已经把mysql用户/组权限给了/data/mysql/文件夹下的所有文件了,那就不是这一块的权限问题,那会是哪儿的权限问题呢?

再次find / -name mysql一下,哦,发现好多个,挨个找简直太麻烦了,于是直接去网上查,果然就找到了,于是我就对/var/lib/mysql/文件夹赋予权限:chown -R mysql:mysql /var/lib/mysql/

再次重启mysqld服务,这回终于能连上mysql了。

后来发现/var/lib/mysql/这个文件夹就是用来放置mysql.sock套接字文件的地方,没有权限,难怪连不上数据库。

最后

以上就是淡然白开水为你收集整理的mysql without updating pid file_MySQL启动报The server quit without updating PID file (/data/mysql/da......的全部内容,希望文章能够帮你解决mysql without updating pid file_MySQL启动报The server quit without updating PID file (/data/mysql/da......所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部