MariaDB 10.11.0, our latest preview release, features quite a number of improvements. The one we’ll talk about here is replicate-rewrite-db. This option has become a system variable from 10.11.0 based on MDEV-15530. Before this version it was just an option used by the mariadbd and mariadb-binlog binaries. There have been no behaviour changes with the option; it has simply become a dynamic variable.
The fastest way is to take MariaDB 10.11 for a spin in docker / podman (consult the blog mariadb-replication-using-containers) with the following commands:
To start a primary 10.11.0 MariaDB container, clone the directory, navigate to the cloned directory and run the following command:
docker run -d –rm –name mariadb-primary \
-v $PWD/config-files/primarycnf:/etc/mysql/conf.d:z \
-v $PWD/primaryinit:/docker-entrypoint-initdb.d:z \
-v $PWD/log-files-primary:/var/lib/mysql \
-e MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=True \
To start the replica/secondary run the command to start the mariadbd process as well as specify the replicate-rewrite-db option on the command line:
docker run -d –rm –name mariadb-secondary-1 \
-v $PWD/config-files/secondary-1:/etc/mysql/conf.d:z \
-v $PWD/secondaryinit:/docker-entrypoint-initdb.d:z \
-v $PWD/log-files-secondary-1:/var/lib/mysql \
-e MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=True \
Besides specifying the option as a command line argument, you can use a configuration file.
MariaDB 10.11.0, our latest preview release, features quite a number of improvements. The one we’ll talk about today is GRANT … TO PUBLIC.
MariaDB has quite a complex privilege system. Most of it is based on the SQL Standard spec; however we do have some specific MariaDB extensions. GRANT … TO PUBLIC (MDEV-5215) is a standard feature that is now available as a preview in MariaDB 10.11.0. It is related to ROLES and DEFAULT ROLE, but it covers a different use case.
ROLES are effectively “privilege packages” that you can enable and disable as a user.
Our most recent MariaDB Server release introduced some regressions starting with the 10.6 series, affecting 10.7 – 10.9 as well. This blog post is here to explain the problems in hopes that the impact is minimized. We are likely going to release a new version of MariaDB correcting these problems soon.
There was a bug in the InnoDB Storage Engine where the full text index could go out of sync with the actual table data. This would happen when only one new row was inserted between the last InnoDB sync (which happens asynchronously) and a server shutdown.
I have been working for the MariaDB Foundation as the Chief Contributions Officer for a couple of weeks and it is fantastic being part of the MariaDB family again. Part of my job is to help the community massage pull requests into something that we can merge. I am, however, finding that one of the worst parts of my job is having to say “no” to contributions that clearly took a lot of time and effort on the part of the developer.
Contributions could be turned down or at least will require changes for a number of reasons.
Would you like to contribute to the MariaDB Server code base, its feature set, its quality? Here’s what you can do to help – in other words, here’s our Contribution Wish List
The assumption around code contributions is usually that the code contributor extends the product in a direction that corresponds to the contributor’s own needs, which in turn are close to the needs of other users. “Scratching your own itch” is the phrase commonly used.
That said, we have also been approached by potential providers of contributions that would take a more general approach.
In the previous blog we have seen how to create a statefulset MariaDB application. Also, we learned how replication works in MariaDB in this blog. Now, we will try to create a replicated statefulset application. As good references for creating this blog, I would like to give credit to the Kubernetes documentation as well as an example from Alibaba Cloud.
To replicate a MariaDB application we are going to create a statefulset that will consist of a single init container and one application container.
The MariaDB Foundation relies on public mirrors to distribute binaries and packages to the world. An overview of the full list can be seen at https://mirmon.mariadb.org. If you would like to volunteer to become a mirror, take a look at https://mariadb.com/kb/en/mirror-sites-for-mariadb/.
Our download page already automatically suggests one of those mirrors for you to download our binaries. Same goes for the repository configuration tool; see https://mariadb.org/download.
The purpose of this blog post is to present you a new system that we have been testing since December 2021 and that we believe is now ready for public adoption.
Yes, we are hiring!
And we are hiring for quite an interesting position: As a senior developer of MariaDB Server, with merging community code contributions as a main task.
This is a very demanding job. The MariaDB Server code base is large and complex, and being a good C / C++ developer is only the starting point for being able to contribute to it. You also need to understand databases, and the existing codebase architecture.
The existing codebase is demanding. Depending on how you look at it, it’s either very efficient (if you know it well), or it has many dependencies (if you don’t).