Linux The server quit without updating PID file的几种解决方法

  Linux The server quit without updating PID file的几种解决方法

不管是在安装还是运行MySQL的时候,都很有可能遇到报错:Linux The server quit without updating PID file。字面意思是无法更新pid文件,pid大家都懂得,就是MySQLserver的主进程,MySQL中比较重要的三个文件,一个是管进程的,也就是上面报错的那个pid文件,这个文件名是本机的域名加pid后缀,第二个文件是mysql.sock 文件,这个文件是进程间通信,以及mysql与其他程序通信的socker接口文件,第三个文件是最为重要的mysql配置文件,没有之一,my.cnf、端口的定义,大小写敏感的定义。连接数的定义,等等配置都在这个文件内定义。

那么,这个错误的原因是什么呢?我想说,原因很多,需要根据具体情况具体分析。

第一,权限的问题,在出这个错误的时候,我所说的权限是mysq.cnf和所定义的mysql数据库存放目录的权限,要保证是mysql用户的权限,如果启动mysql还有问题,那么需要考虑提高权限了。说人话, 数据库存放目录必须是mysql这个用户的属组,mysql的启动脚本必须有执行权限。赋予权限的命令为:chown -R /usr/local/mysql,假设我的mysql是安装在  /usr/local/mysql目录,数据库存放目录为 /usr/local/mysql/data/

第二,进程中有mysql的进程,上次的退出并没有自动结束该pid,导致新的进程无法启动,毕竟,mysql每次启动系统只会给分配一个pid号,再启动,系统也不可能给你分配pid号了。运行命令 ps -ef |grep mysql  找到mysql的进程结束它,然后在启动mysql。

第三,进入mysql数据库的存放目录,如果有mysql-bin.index这样的文件,删除它,在启动mysql,该文件产生的原因不详,不过删除必定没影响,或者另一个binlog.index也删除,两个index后缀的都删除也可以。

第四,my.cnf 这个配置文件内容不对,检查有没有skip-federated这个字段,如果有注释或者删除,检查是否定义了数据库存放目录,如果没有定义,请立刻定义。

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

第六,my.cnf文件内存在lower_case_table_names=1 字段,注释掉它。

总结:mysql说好安装也好安装,说难也难,难点在于权限的配置,给高了不安全,给低了有可能启动出问题,如果启动出问题了,首先第一件事就是检查目录权限,第二就是检查my.cnf这个配置文件,skip-federated,lower_case_table_names=1 ,这样的字段注释掉,第三,清除旧的mysql进程,如果有旧清除了,旧的不去新的不来,就这么一个道理。第四,进入mysql数据库存放目录删除index后缀的文件。下面,给张图,详细的权限慢慢体会、

Linux The server quit without updating PID file的几种解决方法

Linux The server quit without updating PID file的几种解决方法

Linux The server quit without updating PID file的几种解决方法

Linux The server quit without updating PID file的几种解决方法

 

 Linux The server quit without updating PID file的几种解决方法