Migration with Docker Official Images

In this blog we will explore how to setup a docker compose file in order to migrate from MySQL 5.7 to the latest MariaDB.

In the next blog we will explain how to setup a docker compose file to migrate from MySQL 8.0 to MariaDB.

The steps to migrate from MySQL 5.7 to MariaDB are:

  1. Start container by running docker-compose file
  2. Use the MySQL data directory and start MariaDB with MARIADB_AUTO_UPGRADE=1

Let’s explore each step.

1. Start MySQL

The MySQL container is started using the following docker-compose file.

Accelerating MariaBackup with Intel QuickAssist

With Intel QuickAssist Technology, you can see a 5x performance in your MariaBackup compression, and lower CPU usage as well. Today I’m going to show you how.

What is Intel QuickAssist?

Nearly a decade ago, Intel released a technology called QuickAssist, which started out as a PCI-e card and then became integrated in many Xeon processes starting with the Skylake generation. QuickAssist Technology (often called QAT) is a special unit that the CPU can offload compression and encryption tasks onto.

I was lucky enough to have early access to this technology back when it was new.

MariaDB semi-sync replication using containers

In the blog MariaDB replication using containers, we showed how to properly replicate data in MariaDB using Docker containers.
We used standard or asynchronous or lazy replication.

The problem with this type of replication is potential data loss if the primary goes down. Transactions that are committed on the primary are not being sent to replicas, and the replica doesn’t commit the changes. Failover from primary to replica in this case may lead to missing transactions relative to the primary.

To overcome these type of errors, there is semi-sync replication that is integrated into MariaDB since 10.4 and fully sync replication, which we plan to implement eventually as MDEV-19140.

MariaDB Server will be the default database in cPanel

Good news! cPanel, one of the leading control panels in the hosting world has just announced that they are going to make MariaDB Server the default database when installing new cPanel instances. This change is slated to occur in version 122 of cPanel & WHM, coming in Q3 of 2024. We at MariaDB Foundation are very happy about this decision and are looking forward to continuous collaboration, to the benefit of our users and the MariaDB Server project.

We think that this is a great decision for cPanel users because we at MariaDB have stayed true to the original values of MySQL, including:

  • Long term backwards compatibility
  • Painless upgrades and ease of use
  • Long term stable releases;

Looking for more migration guinea pigs

Remember our open letter, Looking for MySQL 5.7 or 8.0 guinea pigs?

We caught a nice German guinea pig!

We caught a nice guinea pig, a German one, from Hannover. They are currently using MySQL 5.7 (as was our prime wish), and they will be doing a live migration to MariaDB 10.11. They have 1.000.000.000 queries a day, their database size is 412 GB, and our goal is to the migration of the production data in less than five minutes – during our MariaDB Migration Workshop at our pre-FOSDEM event on Friday 2 Feb 2024.

Where is the official MariaDB Container Image?

Easy question, easier answer. Docker Official Images are the official image distributor of MariaDB Server. It was years ago that the Docker Official Image of MariaDB Server gained all its environment variables in MARIADB_* form and its fork on the MariaDB Corporation Docker Hub was deprecated and eventually removed. As a result of contributing to the Docker Official Images of MariaDB Server, the day to day maintenance was transferred to the MariaDB github organization. Here, the MariaDB Foundation, with support from MariaDB Corporation (now MariaDB plc) on server and releases, continue to develop and support the Docker Official Image.

Feedback requested: The Good/Bad/Ugly

Hi, we from the MariaDB Foundation are having a set of meetings with developers and senior managers from all over the world. We’d like your feedback on the Good/Bad/Ugly bits of MariaDB Server as you see it, and generally what we could be doing better. Please leave comments here, or Reddit, or email discuss@lists.mariadb.org (subscription), or email me directly daniel@mariadb.org.

This will be discussed at the MariaDB (Un)conference 2023 and MariaDB Server Fest 2023 which you are welcome to attend also to state your cases in person.

What programming languages do your applications that communicate with MariaDB use?

MariaDB Foundation polls are an informal way to get feedback from our community. They’ve always been a bit hidden, but the most recent poll sat on the mariadb.org front page for a while, and got a healthy 5,225 votes.

It asked “What programming languages do your applications that communicate with MariaDB use?”, and here are the results:

Python 30%
PHP 30%
Java 19%
NodeJS 16%
C# 15%
C/C++ 11%
Bash/Shell/Powershell 7%
Other 7%
TypeScript 6%
Go 6%
Rust 4%
R 3%
Ruby 2%

How do we use these results?