我正在运行安装了 MySQL 的 Windows Server 2008,每次我重新启动服务器时,MySQL 服务都不会立即启动。查看 Windows 事件日志显示 MySQL 服务在启动时挂起。查看 Services.msc 控制台显示服务状态为正在启动...
最终,大约 10 分钟后,MySQL 服务实际上完成了启动过程并且数据库可供我的 Wordpress 服务器使用......
我查看了 MySQL .err 文件,没有发现任何表明启动过程延迟的内容……
有人能建议一种方法来确定导致延迟的原因吗?更重要的是,如何防止 MySQL 启动延迟?
更新:以下是从关闭到启动完成的 .err 日志内容。请注意,启动从 10:30:00 开始,而 MySQL 直到 10:47:14 才准备好连接,整整 17 分钟后:
100322 10:27:06 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Normal shutdown
100322 10:27:06 [Note] Event Scheduler: Purging the queue. 0 events
100322 10:27:06 InnoDB: Starting shutdown...
100322 10:27:08 InnoDB: Shutdown completed; log sequence number 4 3854351346
100322 10:27:08 [Warning] Forcing shutdown of 1 plugins
100322 10:27:08 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Shutdown complete
100322 10:30:00 [Note] Plugin 'FEDERATED' is disabled.
100322 10:30:01 InnoDB: Started; log sequence number 4 3854351346
100322 10:47:14 [Note] Event Scheduler: Loaded 0 events
100322 10:47:14 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: ready for connections.
更新 2:MySQL 配置为服务(安装过程的一部分,我没有做任何事情)并执行以下语法(如在注册表中所示):
"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" MySQL
答案1
完全猜测:听起来它可能没有干净地停止,因此需要经历 InnoDB 恢复。
从 MySQL 日志中提供重新启动之前 10 行的输出。
编辑1
感谢您提供更多信息。这看起来可能不是 MySQL,而是 Windows。服务中指定了什么?有脚本吗?
编辑2
我之前看错了。看起来 InnoDB 启动时有延迟,但似乎异常长。
100322 10:30:01 InnoDB: Started; log sequence number 4 3854351346
100322 10:47:14 [Note] Event Scheduler: Loaded 0 events
您实际上是否在使用 InnoDB 表空间? show table status;
您的 DB 中将显示 ENGINE。如果没有,我怀疑禁用它会加快启动时间。
编辑3
Wordpress 似乎默认不使用 InnoDB。如果您可以验证您的数据库都不是 InnoDB,则将其添加skip-innodb
到 my.ini 中可能会提高启动速度。