Monitoring MySQL data locks, or the tip of the iceberg This story is about recent (*) performance improvements implemented in MySQL, related to monitoring of data locks. (*) Originally written in Feb 2025. Refresher What is a data lock? When a user session connects to the MySQL database, it executes SQL queries. The query runs; […]
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
In this eighth post of our series, we decode the three row events — WRITE_ROWS_EVENT, UPDATE_ROWS_EVENT, and DELETE_ROWS_EVENT — that carry the actual row data for INSERT, UPDATE, and DELETE operations in row-based replication.
Introduction
In the previous posts, we decoded the events that set the stage
for row-based replication: the GTID_LOG_EVENT identifies the
transaction, the QUERY_EVENT opens it
with BEGIN, and the TABLE_MAP_EVENT describes
the table's schema. Now we finally arrive at the events that
carry the actual data — the row events.
All three row events share the same base structure defined by
the Rows_event class. The
differences come down to which row
images each event carries: …
A deep dive into multi-region MySQL deployment patterns on Kubernetes, exploring replication models, failover strategies, and the operational trade-offs required to achieve global scale and resilience.
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.
My attention was brought to this via the now private Bug #120156: MySQL 8.0.39/8.0.42
My colleague Miguel wrote about ways to audit login attempts in MySQL over 13 years ago, and this is still a relevant subject. I decided to refresh this topic to include some important changes since then.
Very often, it is important to track login attempts to our databases due to security reasons as well as to catch application misconfigurations. I’ll focus here on the most convenient ways to log authentication attempts. While auditing all client connections is usually pointless on busy production systems, when even thousands of new client sessions may be authenticating per second, let’s concentrate especially on the failed ones.
The Error Log
All MySQL and MariaDB variants have an easy way of logging failed authentication attempts in the standard error log via elevated log verbosity. To enable it, in older MySQL versions up …
[Read more]Following the strong participation in the first two editions of our Public MySQL Community Discussion webinar series, we’re excited to invite you to Edition #3. These sessions are part of our ongoing commitment to increase transparency, strengthen collaboration, and make it easier for the community to provide input that helps shape the evolution of MySQL’s. […]
We understand that tackling SQL interviews can feel challenging, but with the right focus, you can master the required knowledge. Structured specifically for the 2026 job market, this comprehensive resource provides 50 real, frequently asked SQL interview questions covering everything from basic definitions and data manipulation to advanced analytical queries and performance optimisation. Section 1: SQL […]
In 2025, MySQL celebrated its 30th anniversary—and to mark the milestone, Oracle University (together with the MySQL Community team) offered free MySQL training and free certification exams from April 20 through July 31, 2025. The goal was simple: make it easy for developers, DBAs, architects, and newcomers to build practical skills and validate them with […]
I would like to thank AWS Open Source for their support.
For some time, I am maintaining Planet for the MySQL Community, a blog / news aggregator for the MySQL Community/Ecosystem. I am also maintaining a similar aggregator for the Valkey Community.
Maintaining blog / news aggregators is not free. It incurs hosting, domain registration, and other costs (in addition to time,
As a MySQL consultant, I keep running into the same two problems: reviewing MySQL configurations and generating realistic test data for validation. So I built two focused MySQL tools to…
The post MySQL Tools for Performance Tuning and Test Data Generation first appeared on Change Is Inevitable.