I am starting a blog post series on using indexes — or tables — as queues. I had this series in the back of my mind for some time. This started a few years back when I worked on optimizing a row deletion job (I do not call this a purge job, to avoid confusion with the InnoDB Purge). Such jobs can be generalized to using indexes (or tables) as queues (this is
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
This guide explains how to subtract days from dates across MySQL, H2, and other databases with different SQL dialects. Learn how to standardize behavior using compatibility modes, wrapper functions, and unified tooling so the same logic works reliably even when multiple database engines run side by side.
The post Mastering Cross-Database Date Manipulation: Subtracting Days in MySQL and H2 appeared first on Devart Blog.
MySQL Security Best Practices: A Practical Guide for Locking Down Your Database Introduction
MySQL runs just about everywhere. I’ve seen it behind small personal projects, internal tools, SaaS platforms, and large enterprise systems handling serious transaction volume. When your database sits at the center of everything, it becomes part of your security perimeter whether you planned it that way or not. And that makes it a target.
Securing MySQL isn’t about flipping one magical setting and calling it done. It’s about layers. Tight access control. Encrypted connections. Clear visibility into what’s happening on the server. And operational discipline that doesn’t drift over time.
In this guide, I’m going to walk through practical MySQL security best practices that you can apply right away. These are the kinds of checks and hardening steps that reduce real risk in real environments, and help build a database …
[Read more]One question that surfaces regularly in the Percona forums: Does every node in a Percona XtraDB Cluster (PXC) need to have XtraBackup installed? It's a fair question, especially when managing a mixed environment or trying to minimize the software footprint on certain nodes. Here is what the actual mechanics and testing confirm.
The Short Answer (But Read On)
It depends on what you want that node to do. The nuance matters quite a bit here, so it is worth walking through how State Snapshot Transfer (SST) works in PXC and why XtraBackup's presence — or absence — on a given node is significant.
A Quick Refresher on SST in PXC
When a new node joins a Percona XtraDB Cluster, or when an existing node has been down long enough that Incremental State Transfer (IST) is no longer possible, the cluster performs a State Snapshot Transfer (SST). This is essentially a full data …
[Read more]The MySQL ODBC driver is what keeps BI tools, reporting systems, and ETL pipelines connected to MySQL without errors. Teams have depended on it for years, and it’s still vital today, especially with MySQL ranked #2 worldwide in February 2026. However, not all ODBC drivers are built alike. There are two categories: open-source options and commercial ones. While both connect applications to […]
The post ODBC Driver for MySQL: Open-Source vs Commercial (2026) appeared first on Devart Blog.
A common source of instability in MySQL environments is the
unexpected growth of memory usage at startup. You might set your
innodb_buffer_pool_size to 16GB, only to find the
process consuming 18GB or 20GB. This happens because MySQL
enforces a strict geometric relationship between the
total size, the number of instances, and the chunk
size.
If these parameters are not aligned, the storage engine
automatically rounds the total size upward. To maintain control
over your server’s RAM, you must define
innodb_buffer_pool_chunk_size with precision.
The Alignment Logic
The InnoDB buffer pool is organized into a hierarchy: the pool is split into instances to improve concurrency, and each instance is composed of chunks. According to the MySQL technical specifications, the total buffer pool size must be a multiple of this specific calculation:
Unit = …
[Read more]If you’re working with MySQL HeatWave, Oracle’s powerful in-memory query accelerator for analytics workloads, you might find yourself needing to verify whether your tables are properly loaded into that speedy in-memory columnar storage engine known as RAPID. HeatWave is all about boosting performance by offloading analytical queries from the standard MySQL row-based storage to an optimized in-memory […]
Something changed in MySQL 8.4 related to caching, and it is easy to miss, so it deserves a post. And a subject adjacent to this is the missing Release Candidate for MySQL 8.4 LTS, with my hope that the next LTS will have a Release Candidate, so I also cover this topic below.
(if you are not interested in Caching and Flushing, you can jump directly to the section about Release Candidate)
If you’ve ever dived into MySQL configuration, you’ve probably come across the term “SQL modes.” These are powerful settings that can change how MySQL interprets SQL queries, handles data validation, and even enforces certain standards. But with great power comes great responsibility – choosing the wrong mode can lead to unexpected behaviors, data inconsistencies, or […]
As we shared in the MySQL Belgium Days in January, and summarized in the latest blog post , we are excited to invite you to an upcoming MySQL community webinar. This is an opportunity to connect directly with the MySQL team. Mark your calendars for Wednesday, February 25, 2026, at 10:00 am ET and join […]