出现问题
之前由于电脑C盘空间不足,我重装了MySQL。但重装后发现MySQL的服务无法开机自启动,每次都需要手动开启服务。
系统:Win10家庭版
MySQL:8.0.23
检查
- 首先查看服务,MySQL80服务的启动类型确定是设置为自动
- 检查Windows日志发现启动报错:
由于下列某个原因,Windows 无法访问文件 : 网络连接、存储文件的磁盘或安装在此计算机上的存储 驱动程序有问题;或者磁盘丢失。 由于上述错误,Windows 关闭了程序 mysqld.exe。
- 检查文件:
- MySQL安装目录下:MySQL Server 8.0\bin\mysqld.exe文件存在
- 系统目录下:C:\WINDOWS\SYSTEM32\ntdll.dll文件存在
解决问题
到这一步就不知道该怎样解决了。日志中提到的两个文件都不能随意更改,可能问题并不出在这些文件中。
参考博主的文章MySQL服务开机自启动失败 - 超频化石鱼后问题解决
大体的原因就是MySQL的启动服务不能在Windows规定的启动时间内完成准备,于是就会停止其启动程序。
解决方法
在注册表中找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
在此路径下新建一个名称为ServicesPipeTimeout的DWORD(32位)值
设置值为十进制的180000
重启电脑即可。
详见:MySQL服务开机自启动失败 - 超频化石鱼