Server Error Log view — MySQL
What the server has been complaining about.
MySQL writes startup and shutdown messages, warnings, and errors to its error log. This view finds the file, reads it, and parses each entry into a timestamp, type, and message, with the raw text one click away.
How Querious Finds the Log #
The path comes from the server's log_error variable. A relative value (./hostname.err is common) is resolved against datadir. If log_error is empty, the server isn't logging to a file and the view says so.
- Server on this Mac: Querious reads the file directly.
- Remote server: Querious reads it over SSH.
Both require that Server Access be given permission to read the file. Set that up in Server Access.
It's also possible to open a specific file using Open… in the bottom bar's action menu. Save as… writes what's loaded to a file of your own.
Log Entries #
| Column | What it shows |
|---|---|
| Time | When the entry was written. Hover for the full UTC timestamp when a relative time is shown. |
| Type | Note, Warning, Error, or Other for lines with no recognizable type. |
| Code | The server's message code, such as MY-010914. Shown only when the log contains codes (MySQL 8 and later). |
| Subsystem | The part of the server that wrote the entry, such as Server or InnoDB. Shown only when the log contains subsystems (MySQL 8 and later). |
| Message | The entry text. When repeated messages are grouped, a badge before the text shows how many times it occurred. |
Click a column header to sort by it. The Show: scope bar filters by type, and when the log has subsystems, a Subsystem: scope bar filters by subsystem. Show as Text switches to the raw file, for lines carrying information the parse doesn't model (log formats vary between MySQL versions and forks).
Grouping Repeated Messages #
A server that hits the same problem repeatedly can fill the log with identical entries. Choose Group Repeated Messages from the bottom bar's action menu to collapse entries with the same type, subsystem, code, and text into a single row.
- The row shows the time of the most recent occurrence, with a count badge beside the message.
- Hover over the badge or the time to see the first and last occurrence times.
- Filters and search apply before grouping, so counts reflect only the entries you're showing.
- Querious remembers the setting. Choose the item again to turn grouping off.
Recipes #
To find out why the server restarted
-
Set Show: to All. The startup sequence is mostly Notes, so filtering to Errors hides it.
-
Find the startup banner and read the messages just before it.
A clean shutdown message means someone stopped the server deliberately. Its absence means it died.
-
Compare the timestamp with Running Since in Server Status to be sure it's the latest restart.
To investigate connection failures
-
Filter to Warning and Error and search for
access deniedor the user name. -
Note the host each attempt came from, and check that user in Users.
MySQL users are user-and-host pairs, and the usual cause is a user that exists for one host but not another.
-
Compare with Failed Connections in Server Status to see whether it's a steady stream or a one-off.
To check for InnoDB complaints
-
Search for
InnoDBand look for messages about long semaphore waits, page corruption, or the buffer pool. -
Follow up in InnoDB Status, which shows the engine's state now.
Notes #
- The view never writes to or truncates the log.
- Large logs take a moment to load. Rotate them rather than letting one grow indefinitely.