The MySQL Community team will continue to be active across conferences, user group meetups, open source events, and regional community activities throughout August, September, and October 2026. While some of our August events were featured in our previous event update, we’ve included them here again with the latest information. Whether you’re interested in learning about MySQL 9.7 LTS, exploring the latest features in […]
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
You've probably all experienced it; another outage and the database is the root cause. Why are databases such a frequent cause of problems in most tech stacks? Why can't we seem to solve these problems industry-wide? Are database engineers and database admins just bad at their jobs?
Over my career as a database reliability engineer, I've come to a conclusion which I don't see repeated often:
All practical implementations have to balance the opposing concerns of correctness vs. performance & availability (this is kind of similar to CAP theorem , but not exactly the same). Perfect correctness with no data loss across geographic distances would result in a database which is too slow or too costly to be useful for most applications. And these constraints cannot be overcome because it's the physical bounds of reality which imposes …
[Read more]This article is also available in Chinese: 中文版. Browse all English articles.
Since MySQL 5.6, the MySQL replication team has been working to
reduce replication lag. The first step was schema-level parallel
application of the binlog, but schema-level parallelism only
helps when writes are spread across many databases; in the common
case, where most write traffic hits a single database, it
provides almost no parallelism. MySQL 5.7 then introduced the
Commit-Order parallel-replay strategy, which depends
on how many transactions run concurrently on the primary: the
replica can replay quickly only when the primary is highly
concurrent. When concurrency on the primary is low, the replica
still replays slowly and lag builds up. To fix that, MySQL 5.7
also …
MySQL 9.7, a Long-Term Support (LTS) release, incorporates a variety of potential features spanning across multiple technical domains. This article covers some of the primary features introduced and evaluates their practical utility within the MySQL database environment.
Following the End-of-Life (EOL) status of MySQL 8.0, this subsequent LTS release is designed to provide enhanced stability alongside significant architectural innovations.
Let’s discuss each of these features below with some examples and usage.
Flow-control monitoring in Group Replication
Flow control monitoring has been improved and provides more granularity by introducing the additional status variables listed below.
- Gr_flow_control_throttle_count : It denotes the number of transactions that have been throttled.
- Gr_flow_control_throttle_time_sum :It denotes the time in microseconds that transactions have been …
This article is also available in Chinese: 中文版. Browse all English articles.
If you use and operate MySQL, you’ve surely run into a strange slow query like this:
- An
INSERTthat’s normally instant took1.3s, and the slow-query log shows no long lock wait. - Every statement in a multi-statement transaction had already
finished, yet the
COMMITalone took1.3s.
When this happens, the most likely cause is a large transaction committing. Below is a simulated test: we used sysbench to simulate a normal workload, then ran a large UPDATE in the background every 5 seconds. You can see the large UPDATE severely hurts performance.
Root Cause
The …
[Read more]A MySQL InnoDB Cluster provides high availability for a single database cluster using Group Replication. This works well for node failures inside the cluster, but disaster recovery usually requires another cluster in a separate location: another Kubernetes cluster, region, data center, or cloud.
This replica cluster needs to stay in sync with the primary, remain protected from accidental writes, and be ready to take over when you need to move traffic, either as a planned operation or during an outage.
InnoDB ClusterSet addresses this by linking multiple MySQL clusters into a single disaster-recovery topology. One cluster handles writes, while the others stay synchronized as read-only replicas.
Starting from v1.2.0, the Percona Operator for MySQL adds a new
custom resource, PerconaServerMySQLClusterSet, which …
Update, July 1, 2026: Percona Server for MySQL 8.4.10-10 is now available. It carries the content originally planned for 8.4.9 plus the upstream security fixes. See the 8.4.10-10 release notes. 9.7.1 is still on the way; we’ll link its release notes here when it ships.
Upstream MySQL published an out-of-schedule release this week with two high-severity CVE fixes. We’ve pulled those fixes into our next builds and are skipping the two versions we had already queued: Percona Server for MySQL 8.4.9 and 9.7.0.
These fixes arrived through Oracle’s new monthly Critical Security Patch Updates (CSPUs), which Oracle announced begin May 28, 2026. CSPUs ship targeted …
[Read more]It is time to talk again about Flow control and group replication. This time with a special eye on the use of Group Replication in the Kubernetes context. In this article we will dig a bit on how it works and what are the various side effects.
The problem
Recently I was refining the calculation I use in the MySQL calculator for Operator given I was constantly encountering a very serious problem with the Percona Server Operator.
The problem is that when the deployment was/is serving a high level of traffic, it will, no matter what, end up in getting OMMKill by the K8 system.
This because the pod was gradually consuming more and more memory, reaching the memory limit set in the CR specification.
Now let me clarify a few things, to get straight to the facts.
…
[Read more]Overview
When building high-availability MySQL environments, the choice between MySQL Group Replication (GR) and Percona XtraDB Cluster (PXC) often comes down to how they handle the eternal database dilemma: data consistency versus performance.
While both provide "synchronous-like" replication, they approach the problem of stale reads—reading data that has been committed on one node but not yet applied on another—in distinct ways. Understanding these differences, and the performance penalties associated with fixing them, is critical for any production environment.
Technology Overviews
MySQL Group Replication (GR)
Group Replication is the native, albeit more recent, high-availability solution built by Oracle for MySQL. It is based on a distributed state machine architecture and uses the Paxos consensus protocol.
- Mechanism: When a …
It is time to talk again about Flow control and group replication. This time with a special eye on the use of Group Replication in the Kubernetes context. In this article we will dig a bit on how it works and what are the various side effects.
The problem
Recently I was refining the calculation I use in the MySQL calculator for Operator given I was constantly encountering a very serious problem with the Percona Server Operator.
The problem is that when the deployment was/is serving a high level of traffic, it will, no matter what, end up in getting OMMKill by the K8 system.
This because the pod was gradually consuming more and more memory, reaching the memory limit set in …
[Read more]