Era Host hosting
EraHost – Free Domain, Cheap Hosting!
Client Area
Support 24/7
Menu

Check MySQL Event Scheduler Status & Enable It Temporarily

2 min read
19.06.2025

The MySQL Event Scheduler is responsible for executing scheduled events (tasks) in the database. You can check its status and enable it temporarily if needed.

MySQL Event Scheduler Status
Status check — `SHOW VARIABLES`; temporary enable — `SET GLOBAL`.

For closely related event scheduler topics, see MySQL Error #1227 — Event Scheduler, Enabling Permanently, Check Status & Enable Temporarily, and MySQL Event Scheduler — Complete Guide.

Check MySQL Event Scheduler Status

Run the following SQL query:

SHOW VARIABLES LIKE 'event_scheduler';

Possible Outputs

Value Meaning
ON Event Scheduler is enabled and running.
OFF Event Scheduler is disabled.
Linux VDS
High performance for your projects
  • Root access and flexible setup
  • Control panel
  • NVMe disks
  • DDR5
Linux VDS

Enable Event Scheduler Temporarily (Until Restart)

To enable the Event Scheduler for the current session (without restarting MySQL):

SET GLOBAL event_scheduler = ON;
  • This will only last until MySQL restarts.
  • Requires SUPER or SET USER privileges.

Verify If It Is Enabled

Run the status check again:

SHOW VARIABLES LIKE 'event_scheduler';

Expected output:

+-----------------+-------+

| Variable_name   | Value |

+-----------------+-------+

| event_scheduler | ON    |

+-----------------+-------+

If You Get an Access Denied Error

If you see:

#1227 - Access denied; you need (at least one of) the SUPER, SET USER privilege(s) for this operation.

You have two options:

  1. Ask the Database Administrator to enable it for you:
  2. GRANT SUPER, SET USER ON *.* TO 'your_user'@'your_host';
    
    FLUSH PRIVILEGES;
  3. Enable the Event Scheduler Permanently (if you have root access):
    • Modify MySQL configuration file (my.cnf or my.ini).
    • Add:
    [mysqld]
    
    event_scheduler=ON
    • Restart MySQL:
    sudo systemctl restart mysql
  • To check status > SHOW VARIABLES LIKE 'event_scheduler';
  • To enable temporarily > SET GLOBAL event_scheduler = ON;
  • To enable permanently > Modify my.cnf/my.ini and restart MySQL.
Frequently asked questions
ON: scheduler running, executes events on schedule. OFF: not running but can be turned on with SET GLOBAL. DISABLED: scheduler explicitly compiled-out or marked broken; can't be enabled without MySQL restart + config change. Most servers default OFF; rare to see DISABLED.
Yes. `SHOW PROCESSLIST;` — look for the `event_scheduler` user. If present, scheduler thread is active. If absent, even though SHOW VARIABLES says ON, scheduler hasn't started — possibly slow startup after enable.
MySQL 8: needs SYSTEM_VARIABLES_ADMIN. Older MySQL: SUPER. Without either: Error 1227. See the 1227-event-scheduler guide for exact GRANT syntax. Shared hosting often won't grant either — must request from hosting provider or use cron alternative.
No for SET GLOBAL — takes effect immediately, no restart. Restart only needed if you want the change to persist across restarts (which requires my.cnf change, not just SET GLOBAL). Temporary enable + my.cnf change + restart is the canonical permanent-enable sequence.
Related articles
Fixing MySQL Error #1227: Access Denied for Enabling Event Scheduler
MySQL Event Scheduler — Complete Guide
Enabling MySQL Event Scheduler Permanently