在windows11家庭版系统安装mysql后,偶尔有mysql服务自动启动失败的问题,大体的原因就是MySQL的启动服务不能在Windows规定的启动时间内完成准备,于是就会停止其启动程序。windows事件日志如下:
方法一 :
检查确定文件:
MySQL安装目录下:MySQL Server 8.0\bin\mysqld.exe文件存在
系统目录下:C:\WINDOWS\SYSTEM32\ntdll.dll文件存在
如果文件不存在,要粘到系统目录(C:\Windows\SysWOW64或C:\Windows\System32),获取管理员权限:目标文件文件夹右键属性-安全-高级-所有者处更改-高级-立即查找-找到用户确定-改成完全控制确定-应用确定即可。
或使用bat脚本运行,文件名字定义,如:ntdll.bat:
Copy /y ntdll.dll %windir%\system32\
regsvr32 C:\WINDOWS\system32\ntdll.dll
ntdll下载:https://download.csdn.net/download/hefeng_aspnet/88036590
方法二:
如果以上文件均存在,mysql服务自动启动偶尔还是有异常,请参考以下内容:
在注册表中找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
在此路径下新建一个名称为ServicesPipeTimeout的DWORD(32位)值
点击后默认值:
修改新值#1为 :ServicesPipeTimeout
在此值上右键修改:
设置值为十进制的180000
确定之后,重启电脑即可。