Cheers. For (reasons) I want to run MySQL 8.0.30 in the "no-monitor" mode, which keeps the service running as a single process. Docs here.
The documentation makes no reference to windows service (as opposed to just the mysqld.exe
executable), so I tried the obvious modification of adding the CLI argument to the service definition:
SERVICE_NAME: mysql
TYPE : 10 WIN32_OWN_PROCESS
START_TYPE : 3 DEMAND_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : C:\MySQLSrv\bin\mysqld.exe --no-monitor
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : MySQL
DEPENDENCIES :
SERVICE_START_NAME : LocalSystem
However, this results in a service that "fails to start".
The MySQL service failed to start due to the following error: The service did not respond to the start or control request in a timely fashion.
Not because of any error. mysql.err
reports that everything's still working:
2023-03-24T09:37:36.811121Z 0 [System] [MY-010931] [Server] C:\MySQLSrv\bin\mysqld.exe: ready for connections. Version: '8.0.30
In fact, I can connect to the MySQL service using the CLI client in the 30 seconds before windows kills it.
What am I missing here? Is this option not intended for use in the windows service definition? Or do I need to make further modifications to the service definition?