一只鸽纸
本帖最后由 一只鸽纸 于 2021-11-5 21:51 编辑

(注:已提高悬赏金粒,不接受如“更换系统”、“用别的数据库软件”、“重装系统”等解答)
本人使用系统CentOS7.6,Mysql版本8.0,配置默认,已尝试重启系统依然无法解决。
昨天使用完Mysql之后正常退出,接着重启Mysql想让新配置生效,却提示“Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/ecs-VBDIK.pid)”
去必应和百度都查过,给出的方法也都如出一辙,不是让检查权限就是让杀死Mysql残留进程。我检查之后确认应该不是权限的问题。
之后用命令ps -ef|grep mysqld查出的确存在mysql进程如下:
  1. root     16267 15342  0 12:39 pts/0    00:00:00 grep --color=auto mysqld
复制代码


但当使用kill -9 15342(如果kill -9 16267会提示没有该进程,这个ID每次查询都会变)
之后就会与主机断开连接,提示Connection closing...Socket close.

Connection closed by foreign host.

Disconnected from remote host at 12:41:42.

重连主机,再次查询mysql进程,发现进程仍然存在,只是换了个PID。
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
  1. root     16801 16416  0 12:42 pts/0    00:00:00 grep --color=auto mysqld
复制代码

不想重装mysql,求解决办法。


补充:目前执行任何mysql命令,如mysql -v,都会提示:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
再次补充:通过执行systemctl status mysqld.service,系统提示ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists,按照教程我执行了rm -rf var/lock/subsys/mysql,然后再次检查mysql服务状态,发现有了新的变化
  1. [root@ecs-VBDIK ~]# systemctl status mysqld.service
  2. ● mysqld.service - LSB: start and stop MySQL
  3.    Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled)
  4.    Active: failed (Result: exit-code) since Fri 2021-11-05 21:21:14 CST; 12s ago
  5.      Docs: man:systemd-sysv-generator(8)
  6.   Process: 2616 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=1/FAILURE)

  7. Nov 05 21:21:13 ecs-VBDIK systemd[1]: Starting LSB: start and stop MySQL...
  8. Nov 05 21:21:14 ecs-VBDIK mysqld[2616]: Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/ecs-VBDIK.pid).
  9. Nov 05 21:21:14 ecs-VBDIK systemd[1]: mysqld.service: control process exited, code=exited status=1
  10. Nov 05 21:21:14 ecs-VBDIK systemd[1]: Failed to start LSB: start and stop MySQL.
  11. Nov 05 21:21:14 ecs-VBDIK systemd[1]: Unit mysqld.service entered failed state.
  12. Nov 05 21:21:14 ecs-VBDIK systemd[1]: mysqld.service failed.
复制代码




Ariy
本帖最后由 Ariy 于 2021-11-4 12:49 编辑

root     16267 15342  0 12:39 pts/0    00:00:00 grep --color=auto mysqld  
这不是mysql的进程,这个是你grep的进程。。



我建议你看一下这个帖子
点击




Panzako
kill PID -9
当然,最有效的办法
reboot

一只鸽纸
Ariy 发表于 2021-11-4 12:46
root     16267 15342  0 12:39 pts/0    00:00:00 grep --color=auto mysqld  
这不是mysql的进程,这个是 ...

执行到scripts/mysql_install_db这个步骤的时候提示
-bash: scripts/mysql_install_db: No such file or directory

无敌三脚猫
运行services.msc,然后在里面翻到MySQL,关掉

Ariy
一只鸽纸 发表于 2021-11-4 13:12
执行到scripts/mysql_install_db这个步骤的时候提示
-bash: scripts/mysql_install_db: No such file or  ...

你放心的话让我ssh连上去看一下

lzh1104
仔细检查下 my.cnf 文件,看看是不是配置哪里弄错了。

一只鸽纸
Ariy 发表于 2021-11-4 13:39
你放心的话让我ssh连上去看一下

可以的 私聊发你

一只鸽纸
lzh1104 发表于 2021-11-4 16:38
仔细检查下 my.cnf 文件,看看是不是配置哪里弄错了。

配置从来没动过 一直是默认的

冰星
本帖最后由 冰星 于 2021-11-5 21:05 编辑

你可能是设置了服务,所以再你kill掉sql之后systemctl会自动给你再开一个参考https://www.ruanyifeng.com/blog/ ... orial-part-two.html去找到对应的mysql服务然后设置restart的配置

一只鸽纸
冰星 发表于 2021-11-5 21:01
你可能是设置了服务,所以再你kill掉sql之后systemctl会自动给你再开一个参考https://www.ruanyifeng.com/b ...

删除了服务都不行啊15555
重启机器mysql服务还是会自启动


(话说你发的链接我看不到,只有回复才能看到一半)

夏五郎
尝试下还原你之前配置的mysql配置然后重启试试