I have known for some times that there is an interesting improvement in MySQL 8.0.17 regarding GTID Crash Safety, but I have not had the time nor the need to look into it before. When writing my last post (Understanding MySQL Replication "fatal error 1236": [...]), I saw something interesting related to this, and it is now time to cover this on my blog. From my point of view, this change is very interesting, but the documentation about it should be improved (and more), so there will be bug reports. Let's explore all this.
Tuesday, August 4, 2026
MySQL 8.0.17 GTID Crash Safety Improvement
Tuesday, April 14, 2026
Symlinks are Unsafe since MySQL 8.0.39 (and maybe even before)
You read this right, symbolic links (symlinks) are unsafe in MySQL since at least 8.0.39. As always, it is a little more complicated than that, but if you are using symbolic links and in certain conditions, you risk a crash. I think it is important to raise awareness on this, hence this post.
Wednesday, June 4, 2025
Interesting Troubleshooting of a MySQL Crash : filling then freeing the disk
I recently troubleshoot an interesting MySQL crash, and I think it is worth sharing (with the related bugs). MySQL crashed when the disk was full, you can see the free disk graph below. The Y-axis is in the tens of GiB scale and the X-axis is in the hour scale. Can you guess what happened ?
Tuesday, March 18, 2025
Contrib RFC: Counters for Slow InnoDB Sync Reads
I just submitted a MySQL Contribution and I would like to gather feedback about it. Depending on the received feedback, I might submit an updated contribution. The contribution is Counters for Slow InnoDB Sync Reads, and its goal is to make MySQL easier to operate on “complex” IO subsystems (like network drives in the cloud).
The bug report / feature request Bug #117740 : Please consider adding Slow IO Counters contains all the details about the contribution and the problem this is solving, including what is a sync read. If you prefer looking at a PR over a patch file, you can check the Contrib / RFC Fake PR : Bug #117740 - Counters for Slow InnoDB Sync Reads (and if you want to know what is a Fake PR, it is also detailed in there). If you have thoughts or questions about this, feel free to comment below or in the Contrib Fake PR.
Thanks in advance for any feedback you might have : this will allow me to make the contribution and MySQL even better !
Monday, June 17, 2024
RFC: Database / Schema in the Slow Query Log File
A month ago, I announced that I am working on a MySQL Contribution to add database / schema in the slow query log file (bug report, LinkedIn, Twitter, Facebook, and MySQL Community Slack). My contribution is ready, and before submitting it, I would like feedback, so I am writing this post as a Request for Comments (RFC). If you are in a hurry, you can go directly to the RFC Fake PR. But what is a Fake PR ? It is part of my way of working on MySQL Contributions, which I describe below, and on which I would also welcome feedback. Something else covered in this post are the design choices made for this contribution, and again, I would welcome your feedback on them (I can make adjustments before submitting my contribution). In this post, I also explain why having the database / schema in the slow query log file is important.
Wednesday, November 22, 2023
Thoughts on the October 2023 MySQL Releases
A few days ago, Oracle released three new MySQL GA versions: 8.2.0, 8.0.35 and 5.7.44. I skimmed the release notes (8.2.0, 8.0.35 and 5.7.44), and I am not impressed. I guess that I would be even less impressed / more disappointed if I had checked in greater detail, and if I had reviewed the 8.1.0, 8.0.34 and 5.7.43 release notes. The subject of my disappointment is Oracle not fixing bugs in ALL of the LTS releases, sometimes only fixing them in the latest Innovation Release. This post summarizes my findings and thoughts.
Tuesday, November 15, 2022
Bad Optimizer Plan on Queries Combining WHERE, ORDER BY and LIMIT
Sometimes, the MySQL Optimizer chooses a wrong plan, and a query that should execute in less than 0.1 second ends-up running for 12 minutes ! This is not a new problem: bugs about this can be traced back to 2014, and a blog post on the subject dates of 2015. But even if this is old news, because this problem recently came to my attention, it is a problem worth writing on.
Friday, April 24, 2020
State of Planet MySQL: unhealthy !
I have been complaining for some time about Planet MySQL filtering content that I think it should not. Shlomi made a courageous decision on this and explained it in his recent post (Pulling his blog out of Planet MySQL aggregator, over community concerns). I am thinking of doing the same. What are your thoughts on this ? Please share them in the comments below (or on Shlomi's blog).
Monday, January 27, 2020
A Legacy Behavior of MySQL Corrupting Restored Backups (replicate-same-server-id = OFF)
Wednesday, May 1, 2019
Care with using the max_connections beta database flag on CloudSQL...
Tuesday, January 8, 2019
Care when changing MASTER_DELAY with CHANGE MASTER TO (delayed replication)
TL&DR: be careful when using CHANGE MASTER TO MASTER_DELAY = N: it might wipe your relay logs !