Mysql server PID file could not be found 解决思路


上一篇讲了几种常见的解决方法,刚好有朋友遇到这个问题,我整理了下解决的思路,告诉大家,以后方便以一反三,不再为此头疼。


先上错误提示

ERROR! MySQL server PID file could not be found!
Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/var/iZ115u08wfmZ.pid).

根据这个提示,我们首先第一步,要先找下mysql的错误日志。一般默认情况下在mysql /data 目录下,我的目录在上面报错的目录 /usr/local/mysql/var/ 。

在这个目录中,mysql 会存一个错误日志文件 xxx.err。打开它,翻到最后,可以看到有下面一个报错提示。

[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist

打不开这个用户表,mysql.user 表不存在。网上翻阅资料,查明原因是在装mysql的时候,初始化的目录不是现在的目录,导致mysql找不到这个目录,pid文件生成不了,重启失败。

问题找到,解决方案也就出来了,我们使用 mysql_install_db 工具,初始化数据库,重新指向mysql的数据目录

/usr/local/mysql/scripts/mysql_install_db   --basedir=/usr/local/mysql 
                                            --user=mysql 
                                            datadir=/usr/local/mysql/var

我的mysql_install_db 存放在 /usr/local/mysql/scripts/ 目录下,这里用了三个参数,–basedir 为安装目录,–user 指向数据库用户, datadir 为你当前使用的 mysql data 目录, 我的data目录就是 /usr/local/mysql/var。

运行一下,你的数据库的用户名将全部清空,这时候的mysql root 用户是没密码的,一定要记住设置密码,这时候再重启,就提示你成功了。

另外,我使用的是5.5版本的mysql.这时候 mysql_install_db 还是存在的,但是在5.7之后你就要改用 /mysqld –initialize 去操作,都差不多。

本篇核心思想就是,处理错误,先查错误日志,再具体问题具体分析,不用花费不必要的时间。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值