MySQL cannot create an internal timer because the operating system returned an error, often due to low file descriptor or kernel resource limits.
MySQL Error 36: EE_FAILED_TO_CREATE_TIMER signals that the server could not create an internal timer object because the host OS ran out of permitted resources. Raise file-descriptor or kernel timer limits, free memory, and restart MySQL to clear the error.
Failed to create timer (OS errno %d). EE_FAILED_TO_CREATE_TIMER was added in 8.0.13.
The message "Failed to create timer (OS errno X)" indicates that mysqld asked the operating system to create an internal POSIX timer but the call failed. The numeric OS errno appended to the message pinpoints the underlying system problem, such as EMFILE or ENOMEM.
Timers drive MySQL background tasks including replication heartbeats, timeouts, and Performance Schema instrumentation. When the timer cannot be created, these tasks stall, degrading stability and sometimes preventing server startup.
The error is logged during server startup or while scheduling periodic work such as InnoDB purge threads. It was introduced in MySQL 8.0.13, so earlier versions never emit it. You will typically see it inside the error log before mysqld shuts down automatically.
Yes. Because the timer creation is foundational, MySQL either refuses to start or becomes unreliable if it continues running. Immediate remediation avoids downtime and downstream application errors.
In most cases yes. The server exits during init because critical background work depends on timers. Rarely, the error appears later and triggers a crash.
Only MySQL 8.0.13 and newer include the timer infrastructure that raises this error.
No. Even if mysqld stays up, missing timers can break replication and timeout handling. Address the resource limits immediately.
Galaxy surfaces server error logs next to your queries, letting you detect EE_FAILED_TO_CREATE_TIMER quickly. You can restart and monitor status within the editor without leaving your workflow.