[MySQL] “MySQL 服务无法启动”原理及解决方法

最近在学习数据库,安装MySQL时候第一条指令net start mysql就无法正常运行,错误如下:

MySQL 服务正在启动 .
MySQL 服务无法启动。

服务没有报告任何错误。

请键入 NET HELPMSG 3534 以获得更多的帮助。

在网上找了很多教程,百度靠前的全部都是让跟着输入以下指令:

E:\Mysql\mysql-8.0.26-winx64\bin>mysqld -remove MySQL
Service successfully removed.

E:\Mysql\mysql-8.0.26-winx64\bin>mysqld --initialize-insecure

E:\Mysql\mysql-8.0.26-winx64\bin>
E:\Mysql\mysql-8.0.26-winx64\bin>mysqld -install
Service successfully installed.

E:\Mysql\mysql-8.0.26-winx64\bin>net start mysql
MySQL 服务正在启动 ..
MySQL 服务已经启动成功。

也许这些指令能够解决大部分用户的问题,但可惜这次我属于那一小部分用户。按照提示一行一行输入并得到同样的反馈之后我再尝试运行net start mysql。

结果依然是“无法启动”。

被逼无奈我只好在网上继续寻找除了C站以外的网站的指导教程,终于在gitcode上找到了一个能够解决我问题的,以下就简要介绍一下解决经过。

首先描述一下“无法启动”的原因,是由于mysql的默认端口是3306,因此在启动服务的时候,如果此端口被占用,就会出现如上“Mysql服务无法启动 服务没有报告任何错误”的情况。

因此,我们可以先在管理员命令行窗口运行netstat -aon查看是哪个进程占用了3306端口,看的是0.0.0.0:3306对应的进程。

 图中这个1124进程占用了3306端口,按道理可以简单直接把1124杀了,MySQL就能启动了,但我还是留了个心眼,打开任务管理器看了一眼1124是哪个进程,不看不知道,原来是“mysqld.exe”(因为当时没打算记录所以没截图),好家伙原来是大水冲了龙王庙。

接下来还是在刚刚的命令行窗口运行taskkill /f /pid xxxx,就可以杀掉对应进程,我需要输入的就是1124。

 然后再运行net start mysql就成功了。

特此记录,还是希望大家在写教程的时候简要介绍一下原因,毕竟有些时候报错的原因可能是多种多样的,不同的原因解决方式也可能不同。

介绍一下原因方便读者自行判断,看方法是否适用于自己的问题。否则,就只能像我一开始一样胡乱尝试了。

posted @ 2024-04-04 16:41  千叶314  阅读(4672)  评论(1编辑  收藏  举报