暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MYSQL经典PID问题

1058



ERROR! The server quit without updating PID file (/DB/debug/mysql5735/data/CENTOS7GUI.pid).


今天启动mysql又一次报错:The server quit without updating PID file!记得上次出现这个问题的时候,尝试了一些常规的方法,未果,所以索性重新进行安装。但是,相同的问题今天又出现了!!!OH, my god!恰巧今天时间充裕,尝试各种办法,终于皇天不负有心人,经过一个小时的奋战后,终于让我给搞定,整个过程是这样的!

解决过程

首先,按着自己思路去查看日志文件,相信大家能看到的最多的内容就是Innodb,这是什么玩意儿?其实日志中的信息基本没啥用,就不浪费太多时间了。

然后,使用最直接的办法——百度。相信很多人搜到的结果都是以下几项:

  • 可能是/usr/local/mysql/data/mysql.pid文件没有写的权限 解决方法 :给予权限,执行 “chown -R mysql:mysql var/data” “chmod -R 755 usr/local/mysql/data”  然后重新启动mysqld!

  • 可能进程里已经存在mysql进程 解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9  进程号”杀死,然后重新启动mysqld!

  • 可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。

  • mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。解决方法:请在[mysqld]下设置这一行:datadir = usr/local/mysql/data

  • skip-federated字段问题 解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

  • 错误日志目录不存在 解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限

  • selinux惹的祸,如果是centos系统,默认会开启selinux 解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试

抱着试试看的态度,我把上面所有方法都尝试了一遍,结果。。。然并卵!




通过SHELL调试 命令来查看 启动脚本执行过程

SH -X ETC/INIT.D/MYSQLD START

通过VIM 来查看或者ECHO 看SHELL脚本代码

VIM -X ETC/INIT.D/MYSQLD




basedir=/DB/debug/mysql5735/soft

datadir=/DB/debug/mysql5735/data


1 MY.CNF位置  应该好像是不能放在BASEDIR里面

$basedir/my.cnf

parse_server_arguments `$print_defaults $extra_args mysqld server mysql_server mysql.server`  如果指定了会解析不到MY.CNF



2 MY.CNF USER参数

不配USER参数 默认是用MYSQL用户来启动,如果设置了其它比如说

USER=MYSQLDBA 那么用其它用户死活启动不了


3 目录权限问题

启动用户必须拥有读写执行权限。



设置目录权限

cd /

chown root:dba DB/

cd DB/

chown root:dba debug/

cd /u01

chown -R mysqldba:dba mysql5735/



经常报出如下

.2021-09-18T02:23:44.523073Z mysqld_safe error: log-error set to '/DB/debug/mysql5735/mysql-error.log', however file don't exists. Create writable for user 'mysqldba'.

这是没有设置USER参数

 

 ERROR! The server quit without updating PID file (/DB/debug/mysql5735/data/CENTOS7GUI.pid).

 这个必须用对应的系统用户启动 不能老用ROOT


文章转载自海鲨数据库架构师,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论