0
0
MysqlHow-ToBeginner · 3 min read

How to Enable Event Scheduler in MySQL: Simple Steps

To enable the event scheduler in MySQL, run SET GLOBAL event_scheduler = ON;. This activates the scheduler immediately without restarting the server. To enable it permanently, add event_scheduler=ON in the MySQL configuration file (my.cnf or my.ini).
📐

Syntax

The event scheduler in MySQL can be enabled or disabled using the SET GLOBAL event_scheduler command. The possible values are:

  • ON: Enables the event scheduler.
  • OFF: Disables the event scheduler.
  • DISABLED: Completely disables the event scheduler feature.

Use SHOW VARIABLES LIKE 'event_scheduler'; to check the current status.

mysql
SET GLOBAL event_scheduler = ON;

SHOW VARIABLES LIKE 'event_scheduler';
Output
+-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | event_scheduler | ON | +-----------------+-------+
💻

Example

This example shows how to enable the event scheduler immediately and verify its status.

mysql
mysql> SET GLOBAL event_scheduler = ON;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW VARIABLES LIKE 'event_scheduler';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| event_scheduler | ON    |
+-----------------+-------+
Output
+-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | event_scheduler | ON | +-----------------+-------+
⚠️

Common Pitfalls

Some common mistakes when enabling the event scheduler include:

  • Trying to enable it without SUPER privileges, which will cause an error.
  • Enabling it only temporarily without updating the configuration file, so it resets after a server restart.
  • Confusing ON with ENABLED (only ON is valid).

Always check the current status after enabling to confirm it worked.

mysql
/* Wrong: Using ENABLED instead of ON */
SET GLOBAL event_scheduler = ENABLED;

/* Right: Use ON */
SET GLOBAL event_scheduler = ON;
Output
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ENABLED' at line 1 Query OK, 0 rows affected (0.00 sec)
📊

Quick Reference

CommandDescription
SET GLOBAL event_scheduler = ON;Enable event scheduler immediately
SET GLOBAL event_scheduler = OFF;Disable event scheduler immediately
SHOW VARIABLES LIKE 'event_scheduler';Check current event scheduler status
Add 'event_scheduler=ON' to my.cnf/my.iniEnable event scheduler permanently on server restart

Key Takeaways

Enable the event scheduler immediately with SET GLOBAL event_scheduler = ON;
Add event_scheduler=ON to MySQL config file for permanent enablement.
Check status anytime with SHOW VARIABLES LIKE 'event_scheduler';
You need SUPER privileges to change the event scheduler setting.
Use ON and OFF values; ENABLED is not valid syntax.