MySQL服务正在启动或停止中或服务无法启动【排查思路】
作者:mmseoamin日期:2023-12-18

首先查看环境变量,确认添加了MySQL的环境变量。

查看环境变量的方式:右击此电脑--属性--高级系统设置--环境变量--系统变量--path

MySQL服务正在启动或停止中或服务无法启动【排查思路】,第1张

其次查看注册表是否有MySQL

MySQL服务正在启动或停止中或服务无法启动【排查思路】,第2张

第一步排查发现都没问题,那可以用下面方法,

首先停掉MySQL服务。

进入到mysql安装目录下的bin目录,执行下面的语句,(此处mysql对应你的服务名称,我的服务名就是mysql)

mysqld --remove mysql

 若出现“Service successfully removed”,即可进行下一步操作。

第二步:将根目录下的data文件夹删除(如果有需要,请一定要转存sql文件且备份,因为这里面有你建的数据库!如果是小白第一次弄mysql则忽略)

MySQL服务正在启动或停止中或服务无法启动【排查思路】,第3张

 

(如果在你的mysql的安装路径中没有配置文件,则需要手动添加,文件名为:my.ini,注意!不同版本的mysql配置文件有些许差异,我的为5.7版本,添加内容如下:

[mysqld]
#设置3306端口号
port=3306
#设置MySQL的安装目录
#basedir=D:\mysql\mysql-8.0.16-winx64
basedir=C:\Program Files\MySQL\MySQL Server 5.7
#设置MySQL数据库的数据存放目录
#datadir=D:\mysql\mysql-8.0.16-winx64\data
datadir=C:\Program Files\MySQL\MySQL Server 5.7\data
#运行最大连接数
max_connections=200
#运行连接失败的次数。这也是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
#服务端使用的字符集默认为utf-8
character-set-server=utf8
[mysql]
#客户端使用的字符集默认为utf8
default-character-set=utf8
[client]
#客户端默认端口号为3306
port=3306

第三步:初始化(第一次执行的话,时间会久一些,执行结束后没有输出信息,查看bin的同级目录下会多出一个data文件夹,里面一堆文件)

mysqld --initialize-insecure

 第四步:注册mysql服务,即可重置启动服务。

mysqld.exe --install # mysqld --install 同样可以

此时窗口会出现“Service successfully installed”

第五步:启动服务

net start mysql #注意在bin目录下且打开管理员power shell

MySQL服务正在启动或停止中或服务无法启动【排查思路】,第4张

 最后即可进行数据恢复。此时可以看到windows下的服务中MySQL已经成功启动。

MySQL服务正在启动或停止中或服务无法启动【排查思路】,第5张

 注:完成后尝试3次开启mysql服务,如果第三次还是同样的问题,那就换别的方法试试吧。