关于MySQL8.0无法启动的问题和解决方法:
正常情况是:
今天使用MySQL时,发现MySQL服务居然启动不了,出现以下情况:
手动启动服务也不生效
首先,你需要检查是否用了管理员的身份运行mysql服务(如图一情况)
有时候可能因为权限问题导致MySQL无法成功启动
其次,检查注册表编辑器中对应的MySQL服务
\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\Application\MySQL
查看相关path是否为本地MySQL对应的路径,
如果不是,手动改未本地MySQL路径就好
比如我的ImagePath是:D:\mysql\mysql-8.0.29-winx64\bin\mysqld mysql
可能因为版本或者电脑配置不同,各参数有些出入,不过没有关系
最后,检查服务中是否不止一个MySQL服务,可能因为电脑安装了多个MySQL导致后台启动时MySQL端口冲突或者服务冲突,从而导致MySQL无法启动
这种情况下,首先我们要知道程序只允许一个MySQL 启动,
如果是端口冲突可以更改MySQL的端口号(my.ini)或者关闭那个占用端口号的程序即可(建议后者)
进入MySQL安装目录bin的路径下,输入命令 netstat -ano ,找到3306接口的PID值。
打开[任务管理器],找到对应PID的mysql进程,右击关闭。(点击PID进行PID值排序可方便查找)
如果是服务冲突那么只能舍弃其中一个服务,最好是两个服务都卸载(sc delete mysql)并且在注册表中手动删除,
删除了服务和注册表后需要重启电脑,
重新下载服务(mysqld -install)
重新启动MySQL服务(net start mysql)或许可以启动成功。
如果没有端口占用,也没有服务冲突,仍然出现MySQL无法启动的问题
解决方法1
找到MySQL的安装目录\bin,删除安装目录下的data文件夹(会丢失MySQL内的数据)
在cmd运行(当然如果没有将MySQL命令添加到环境变量的话,请打开MySQL的bin文件夹,在地址栏输入cmd,回车,可以在此目录下打开cmd):mysqld --initialize
初始化重新生成新的data文件
重新启动MySQL服务
解决方法2
下载vcruntime140_1.dll的组件放在mysql文件目录下
重新启动MySQL服务
解决方法3
更改登录权限(前提是个人账户有最高权限)
重新启动MySQL服务
解决方法4
重装MySQL
1、卸载MySQL
2、删除安装目录及数据存放目录
3、在[注册表]全部删除
4、在c盘查询MySQL,全部删除
5、重新安装就好了