Welp, journalctl didn't help, it showed no entries. I analyzed the syslog and looking at the time stamps from when the server was last shut down found these entries:
Mar 19 14:27:26 s988 systemd[1]: mysql.service: Scheduled restart job, restart counter is at 1.
Mar 19 14:27:26 s988 systemd[1]: Stopped MySQL Community Server.
Mar 19 14:27:26 s988 systemd[1]: mysql.service: Consumed 1d 1h 59min 7.545s CPU time.
Mar 19 14:27:26 s988 systemd[1]: Starting MySQL Community Server...
Mar 19 14:27:26 s988 kernel: [37918439.152631] audit: type=1400 audit(1742408846.980:35): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="/usr/sbin/mysqld" pid=1476683 comm="apparmor_parser"
Mar 19 14:27:31 s988 srs_milter[1339927]: CLOSE
Mar 19 14:27:31 s988 systemd[1]: Started MySQL Community Server.
That appears to indicate there's a scheduled task restarting mysql. I checked systemctl active timers, and crons - nothing strange there.
I tried checking timestamps in syslog to match up with the SHUTDOWN entry in the mysql error log (this was initiated by <via user signal>), but the only entries in syslog around that timestamp are hundreds and hundreds of website screenshot entries...
Speaking of website screenshot entries... I seem to be generating about 1 million entries daily on my syslog, and it's almost entirely website screenshots. The last time I updated the settings in the control panel I set it to update once a week or maybe once a month. I went to check on that setting, but it appears to be gone from the control panel now?
The docs says screenshot interval is at Settings>Service>App, but it's not there for me. I can't find it anywhere now?
https://enhance.com/docs/application-role/application-settings.html#screenshot-interval
I think I need to disable the screenshot service, it appears to be running non-stop.