问题描述(MySQL 开机自启失败)
本文解决方法,在 windows10 、 windows11 系统中均可使用。
win11 安装 MySQL 后,不能开机自启。
在服务中,手动启动服务后,可正常使用,一点异常都没有。
或者,重启电脑后,MySQL 就能开机自启。(注:在开始菜单选择【重启】,不是直接关闭电源,再打开电源哈)
现象描述完了,如果你遇到的问题和我一样,本篇文章应该能解决你遇到的问题。
查看 MySQL不能自启动的日志信息
使用快捷键 win+r ,打开运行框 ,输入 eventvwr.msc 。
打开事件查看器,根据你的开机时间,找到错误信息。
具体位置 :Windows 日志 > 应用程序 右侧面板查看错误信息。
报错信息 No.1
由于下列某个原因,Windows 无法访问文件 : 网络连接、存储文件的磁盘或安装在此计算机上的存储 驱动程序有问题;或者磁盘丢失。 由于上述错误,Windows 关闭了程序 mysqld.exe。
导致的原因:
大体的原因就是MySQL的启动服务不能在Windows规定的启动时间内完成准备,于是就会停止其启动程序。
解决方法:
1、在注册表中找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
2、在此路径下新建一个名称为ServicesPipeTimeout的DWORD(32位)值
3、设置值为十进制的180000
4、重启电脑即可。
具体操作步骤
打开注册表,win+r,打开运行框 ,输入 regedit 。
在注册表中找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
在此路径下新建一个名称为ServicesPipeTimeout的DWORD(32位)值
设置值为十进制的180000
设置完成后,重启电脑。
经过我的实测,确实照这样修改后,报错信息消失了。
但MySQL 依然不能开机自启动。所以,继续解决。。。
报错信息 No.2
错误应用程序名称: mysqld.exe,版本: 5.7.44.0,时间戳: 0x65269122
错误模块名称: ntdll.dll,版本: 10.0.22621.2134,时间戳: 0xeee69ec7
异常代码: 0xc0000006
错误偏移量: 0x0000000000020352
原因:
近期 Windows 10 2022 更新 l 版本 22H2 中 加密磁盘功能
导致MySQL 启动超时,被系统关闭
解决方案:
进入Windows 更新与安全
加密 点击 关闭
完美解决 MySQL 启动失败
上面是参考的解决方案的博主原文,在 win 11 中,需要关闭设备加密功能。
具体步骤如下:
关闭设备加密
设置 -> 隐私和安全性 -> 设备加密
参考如下图:
如果你找不到关闭设备加密的功能,自己在搜索引擎查询一下。
总结一下
在注册表添加变量,再关闭设备加密后,我的MySQL就能开机自启了。
另外,再写一点排查过程的记录。
在这个过程中,我最开始使用的是 5.7.28 ,这个版本的发布在 win11 发布之前,我怀疑是 5.7.28 版本没有兼容 win11 导致的。
所以,我尝试把版本升级到 5.7.44 , 结果还是不行。
在这之前,我已经在微软官网找到有不少人遇到了相同问题,遇到这些问题的朋友,还包括 MySQL 8.x 的版本。
官方似乎也没给出比较好的解决方案,如果你对官方的解决方案感兴趣,可以查看下面几个链接。
其他解决方法
另外再附上一个 【选择登录方式为本地系统账户 】 的解决方案。
https://blog.csdn.net/assaki/article/details/134824897
参考链接,感谢下面3位博主的文章:
https://blog.csdn.net/qqVohn/article/details/132626856
https://blog.csdn.net/qq_54515850/article/details/126448534
https://blog.csdn.net/weixin_67377649/article/details/133218120