I noticed a process on the server which has been running for more than 12 days, which I think coincides with the last time MySQL was restarted.
mysql> SHOW FULL PROCESSLIST;
+---------+-----------------+-----------+------+---------+---------+------------------------+-----------------------+
| Id | User | Host | db | Command | Time | State | Info |
+---------+-----------------+-----------+------+---------+---------+------------------------+-----------------------+
| 5 | event_scheduler | localhost | NULL | Daemon | 1098372 | Waiting on empty queue | NULL |
| 1774483 | root | localhost | NULL | Query | 0 | starting | SHOW FULL PROCESSLIST |
+---------+-----------------+-----------+------+---------+---------+------------------------+-----------------------+
2 rows in set (0.00 sec)
There are no events, and I haven't attempted to created any.
mysql> SELECT * FROM information_schema.EVENTS;
Empty set (0.00 sec)
This is actively using up to 8% of my server's CPU.
Is there a way of determining what this is, or why it was started? Will this try to run every time I restart MySQL? If so, what is it 'waiting' for and do I need to tweak my configuration at all to prevent this?
MySQL 8.0.21
htop
or something on the command line and traced it to the event scheduler process.