今天早上,我像往常一样打开navicat,发现mysql无法启动,于是我就开始查找解决方法,经历了n次重启失败之后,我的mysql终于可以启动成功。下面是我的解决步骤:

第一步:以管理员的身份打开cmd,然后进入到mysql的bin目录下,输入mysqld --install(不是管理员身份运行,可能因为权限不够导致失败)
C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld --install
Service successfully installed.

C:\Program Files\MySQL\MySQL Server 8.0\bin>net start MySQL80
MySQL80 服务正在启动 ..
MySQL80 服务无法启动。

服务没有报告任何错误。

请键入 NET HELPMSG 3534 以获得更多的帮助。
第二步:上图所示,mysql还是无法启动,这时我们可以打开MySQLServer8.0\data下面的后缀名为.err的文件,查看错误信息

在这里插入图片描述
打开可以发现3306端口被占用

Do you already have another mysqld server running on port: 3306 ?
第四步:查看占用3306端口号的进程,并停止占用端口的进程
C:\WINDOWS\system32>netstat -ano|findstr 3306
  TCP    0.0.0.0:3306           0.0.0.0:0              LISTENING       18520
  TCP    0.0.0.0:33060          0.0.0.0:0              LISTENING       18520
  TCP    [::]:3306              [::]:0                 LISTENING       18520
  TCP    [::]:33060             [::]:0                 LISTENING       18520

C:\WINDOWS\system32>taskkill /f /pid 18520
成功: 已终止 PID 为 18520 的进程。
第五步:还是以管理员身份运行cmd,然后进入mysql的bin目录里,输入net start mysql80:
C:\Program Files\MySQL\MySQL Server 8.0\bin>net start mysql80
最后,MySQL80成功启动啦!

在这里插入图片描述

总结:本文仅供参考,这只是我个人问题的解决方法,不一定可以解决所有类似的问题。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐