上个月存储崩崩崩了,导致所有主机都需要重启。

有一台Win起来后,MySQL服务没有启动,就手动启动了下,没有猫冰,可以正常用。

然鹅后来有些原因需要重启那台Win,就发现每次重启MySQL都没更着起来,检查了下服务,确认MySQL57是自动启动的状态,就有些头大。

先是更新了一下版本,然后重新注册了服务,都没能自动启动,本来想是干脆导出Dump然后重装一下,但数据量略大,还有些用户权限需要手动改下,有些难操作。

之后某PY点拨了下,看下msconfig是不是有猫冰,结合之前存储崩到恢复模式(但由于恢复模式木有VM优化SCSI驱动所以会循环启动失败)的情况,想着莫非是卡出迷之Bug了?

然后整了半天吧msconfig搞定(启用Geolocation等等操作),然后重启,依旧不行。

最后以Windows服务无法自动启动,重新寻找解决方法。

最终通过增加服务管道超时时间的方法成功搞掂(大概是窝的辣鸡IO才能出现这问题吧)。

Ref:https://superuser.com/questions/1026496/automatic-services-doesnt-start-automatically-after-windows-restart

增加超时的步骤如下:

  1. Win+R,regedit,运行注册表编辑器。
  2. 定位到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
  3. 新建一个DWORD(32位)值,名称为:ServicesPipeTimeout
  4. 选择十进制,值输入180000(180秒,缺省默认为30秒),然后确认。
  5. 重启,服务正常启动,问题解决√。

Windows下MySQL服务不自动启动的问题解决

之前发现VMware Tools的服务没有正常启动,修改后也正常了。

注:除了修改超时的操作,据有些来源参考,把服务从"自动"改为"自动(延迟启动)"也能解决问题,但我这没法吧所有可能出现这个问题的服务都加上这个操作,所以改超时一劳永逸。


眼里有远方,心中有阳光,脚下有力量