Data masking lets you hide sensitive fields (emails, credit-card numbers, job titles, etc.) while keeping data realistic for reporting, support, or testing. It is particularly useful when you collaborate with external entities and need to share your data for development reasons. You also need to protect your data and keep your customers’ privacy safe. Last […]
28
2025
Practical Data Masking in Percona Server for MySQL 8.4
09
2025
Beyond EOL: The Real Benefits of Upgrading to MySQL 8.4
Right now, you’re probably hoping someone else will deal with this MySQL 8.0 end-of-life situation. Maybe your team can squeeze another few months out of it. Maybe Oracle will extend support. Maybe it won’t be as bad as everyone says. We get it. You’ve got enough things going on without adding “major database upgrade” to […]
05
2025
Introducing Experimental Support for Stored Programs in JS in Percona Server for MySQL
TL;DR Percona Server for MySQL now offers experimental support for stored programs in the JS language. This free and open source alternative to Oracle’s Enterprise/Cloud-only feature enables users to write stored programs in a more modern, convenient, and often more familiar language. It is still in active development, and we would very much like your […]
19
2025
An Introduction to Dictionary Operations in Data Masking Component
In this blog post, we will describe typical usage scenarios for dictionary operations in the Data Masking Component, which is available in Percona Server for MySQL as an open source alternative to Oracle’s enterprise version. In particular, we will consider the following functions. gen_dictionary() – a function that returns a random term from a dictionary. gen_blocklist() – […]
15
2025
Percona Server for MySQL Data Masking Enhanced with Dictionary Term Cache
In Percona Server for MySQL 8.0.41 / 8.4.4, we significantly re-designed the Data Masking Component. In particular, we made the following changes: Changed the user on behalf of whom we execute internal queries for dictionary operations. Introduced an in-memory dictionary term cache that allows significant speed-up of dictionary operations. Introduced masking_dictionaries_flush() User Defined Function. Introduced […]
09
2025
Percona Server for MySQL: Enhanced Encryption UDFs
In Percona Server for MySQL 8.0.41 / 8.4.4, we introduced several improvements in Encryption User-Defined Functions. Added support for RSAES-OAEP (OAEP) padding for RSA encrypt / decrypt operations. Added support for RSASSA-PSS (PSS) padding for RSA sign / verify operations. Added new encryption_udf.legacy_padding_scheme component system variable. Normalized character set support for all Encryption UDFs. PKCS1 […]
24
2025
Percona XtraBackup 8.4 Pro: Reduce Server Locking by up to 4300X
When performing backups, reducing the amount of time your server is locked can significantly improve performance and minimize disruptions. Percona XtraBackup 8.4 Pro introduces improvements in how DDL (Data Definition Language) locks (aka Backup Locks) are managed, allowing for reduced locking during backups. In this post, we’ll explore the impact of these enhancements. TL;DR (Summary) […]
17
2025
Percona Server for MySQL 8.4.2 vs 8.0.40: Comparison of Variables and Keywords
In this blog, we will look at the differences between LTS (Long Term Stable) versions of Percona Server for MySQL. Released in April 2019, MySQL 8.0 represented a major change from the previous version, 5.7, introducing significant changes to the data dictionary and enabling many features and enhancements. It also provided no direct downgrade path, […]
10
2025
Extending MySQL 5.7: Percona Releases Post-End-of-Life Source Code to the Community
Percona is excited to announce the community release of our MySQL 5.7 End-of-Life (EOL) source code for both Percona Server for MySQL (PS) version 5.7.44-52 and Percona XtraDB Cluster (PXC) version 5.7.44-31.65.5. This release is an accumulation of several customer-only releases we’ve done as part of our post-EOL support for MySQL 5.7, and we’re happy […]
19
2024
Percona XtraBackup 101: Decompress and Decrypt or Decrypt and Decompress?
This blog is not intended to offer anything extraordinary; instead, consider it an anecdote, a lesson, or simply a proper way of doing things without the need to run a test when in doubt. That said, I must emphasize that, as always, testing everything before deploying to production is essential. Let’s dive into the story: […]