I am writing this quick post to share what I think is a problematic new behavior of Offline Mode in MySQL 9. Basically, the new default behavior in MySQL 9 is to write the username of the user which set offline_mode to ON. I think this behavior has not been considered from a security point of view because it leaks a root username in the error message presented to the users.
My
Problematic Improved Offline Mode Error in MySQL 9 appeared first on MariaDB.org
I am writing this quick post to share what I think is a problematic new behavior of Offline Mode in MySQL 9. Basically, the new default behavior in MySQL 9 is to write the username of the user which set offline_mode to ON. I think this behavior has not been considered from a security point of view because it leaks a root username in the error message presented to the users.
My attention was brought to this subject by the Oracle MySQL Blog post Offline mode error improvement. I think it is interesting to expose a reason about why a MySQL instance is offline (or read only), but I think exposing the user is a problematic default behavior.
Let's assume the owner of a MySQL instance delegates the administration of their instance (to Percona as an example). A classic way to implement this would be to create a user for this delegation (percona_admin). If for any reason, the percona_admin user sets the instance as offline, the delegation would be exposed by the error message, which might be unwanted by the owner.
For this, I opened Bug #116850 : Error message ER_SERVER_OFFLINE_MODE_USER leaks a root username.
Update : the bug above was made private by MySQL Verification Team. The reason is not super clear to me at this point.
I understand the user is not exposed when adding a reason for setting the instance offline, but how to set such reason is currently not documented. For this I opened Bug #116849 : Missing documentation (or link) for setting global variable attributes.
Hopefully, both above will be addressed before MySQL 9 reaches LTS.
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | MariaDB has broken the concept of dynamically configurable buffer pools! | 0 | 10.18 | 09-02-2026 |
| 2 | MariaDB Honeypot | 0 | 9.31 | 06-03-2025 |
| 3 | Hardening MySQL: Practical Security Strategies for DBAs | 0 | 5.76 | 02-03-2026 |
| 4 | Symlinks are Unsafe since MySQL 8.0.39 (and maybe even before) | 0 | 8.23 | 14-04-2026 |
| 5 | Interesting Binary Logging Optimization in MariaDB | 0 | 4.87 | 26-05-2025 |
| 6 | Do not uselessly grant CREATE and ALTER TABLE | 0 | 9.11 | 20-06-2026 |
| 7 | Zero-configuration TLS and password management best practices in MariaDB 11.8 | 0 | 10.83 | 14-09-2025 |
| 8 | Inside MySQL 9.7 LTS Features | 0 | 11.06 | 15-07-2026 |
| 9 | Binary Log Compression is Safe since MySQL 8.0.34 | 0 | 11.88 | 26-03-2026 |