MariaDB Upgrade – Using the Diff Router – Part 1

Part 1  –  What You Need to Know Before You Begin

This multipart series breaks down each section into easy logical steps.


Upgrading MariaDB

Keeping your database up to date is essential for performance, security, and access to the latest features, and MariaDB is no exception. Whether you’re running a small application or a complex production environment, upgrading MariaDB can feel like a daunting task. But with careful planning and the right steps, it can be a smooth and beneficial process.

This is especially important now, as MariaDB 10.5 reaches End of Life (EOL) on July 16, 2025. After this date, it will no longer receive security updates, bug fixes, or official support, leaving your system potentially vulnerable and out of compliance.

But here’s the good news: upgrading doesn’t have to mean downtime. With the right tools, like MariaDB MaxScale and its powerful Diff Router, you can test application compatibility before switching versions and even perform zero-downtime upgrades in production environments. That means uninterrupted service, confident version testing, and smoother migrations.

The MaxScale Diff Router was released from MaxScale version 25.01.

In this post, I will walk you through everything you need to consider before, during, and after upgrading MariaDB. From backups and compatibility checks to using MaxScale for live traffic testing, we’ll help you turn your upgrade from a risk into an opportunity.


Assumptions

Before we dive into the upgrade process, here are a few assumptions about your current environment:

  • You are running a three-node MariaDB 10.5 cluster configured with asynchronous replication. If you would like to learn how to build a robust MariaDB cluster with MaxScale, please read here.
  • The cluster is fronted by at least one MariaDB MaxScale server, which handles query routing and connection management. If you would like to have a highly available MaxScale cluster, please read here.
  • MaxScale is already configured and routing application traffic to your MariaDB cluster.
  • You have administrative access to all nodes in the cluster and MaxScale.
  • You are comfortable using the command line and making configuration changes to MariaDB and MaxScale.
  • While we’ll use MariaDB 10.5 as the starting point, the steps outlined here are also applicable when upgrading from any older MariaDB version to any newer one, as long as the target version is supported by MaxScale and compatible with your application.

If your setup differs slightly, don’t worry, many of the strategies discussed here can still be adapted to your environment.


Requirements

To complete this blog, you will need a server with network connectivity and external internet access. Make sure to open the relevant firewalls. For testing purposes, high-specification servers are not required. You can use local virtual machines instead. In this guide, we will be using Digital Ocean Droplets with 2 vCPUs and 4GB RAM. All commands will be executed as the root user on the servers, using a RockyLinux 9 operating system. However, you can also use other flavours of Linux, such as CentOS.

MariaDB MaxScale requires some ports to be open on your firewall, these can be changed from default if required:

22 for SSH

3306 for the database

4444 for the replica rebuild stream


Once you have the required infrastructure, move on to Part 2 of this series to create a new database server. 


Part 1 | Part 2 | Part 3 | Part 4 | Part 5

Kester Riley

Kester Riley is a Global Solutions Engineering Leader who leverages his website to establish his brand and build strong business relationships. Through his blog posts, Kester shares his expertise as a consultant, mentor, trainer, and presenter, providing innovative ideas and code examples to empower ambitious professionals.

#womeninit (1) CentOS (15) Connector (5) Continuous Availability (1) Cooperative Monitoring (3) diff router (5) High Availability (12) Java (3) MariaDB (21) MaxScale (19) Mentoring (1) Python (2) Replica Rebuild (10) Rocky Linux (15) upgrade (5) Work Place (1)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.