Switching Between Different Installed MariaDB Versions
Techniques for managing parallel installations of different MariaDB versions, typically using symlinks and separate data directories for testing.
This article is about managing many different installed MariaDB versions and running them one at a time. This is useful when doing benchmarking, testing, or for when developing different MariaDB versions.
This is most easily done using the tar files from mariadb.org/download/.
Stopping a Preinstalled MySQL/MariaDB From Interfering With Your Tests
If MySQL/MariaDB is already installed and running, you have two options:
Use test MariaDB servers with a different port & socket.
In this case you are probably best off creating a specific section for MariaDB in your
~/.my.cnffile.
Stop mysqld with
/etc/rc.d/mysql stopormariadb-admin shutdown.
Note that you don't have to uninstall or otherwise remove MySQL!
How to Create a Binary Distribution (tar File)
Here is a short description of how to generate a tar file from a source distribution. If you have downloaded a binary tar file, you can skip this section.
The steps to create a binary tar file are:
Decide where to put the source. A good place is under
/usr/local/src/mariadb-5.#.
You will then be left with a tar file named something like:mariadb-11.0.1-MariaDB-linux-x86_64.tar.gz
Creating a Directory Structure for the Different Installations
Install the binary tar files under /usr/local/ with
the following directory names (one for each MariaDB version you want to use), for example:
mariadb-10.5mariadb-10.6mariadb-10.11mariadb-11.0mariadb-11.1
The above assumes you are just testing major versions of MariaDB. If you are
testing specific versions, use directory names like mariadb-11.0.1
With the directories in place, create a symlink named mariadb which points
at the mariadb-XXX directory you are currently testing. When you want to
switch to testing a different version, just update the symlink.
Example:
Setting Up the Data Directory
When setting up the data directory, you have the option of either using a
shared database directory or creating a unique database directory for each
server version. For testing, a common directory is probably easiest. Note that
you can only have one mysqld server running against one data
directory.
Setting Up a Common Data Directory
The steps are:
Create the
mysqlsystem user if you don't have it already! (On Linux you do it with theuseraddcommand).Create the directory (we call it
mariadb-datain the example below) or add a symlink to a directory which is in some other place.Create the
mysqlpermission tables with mariadb-install-db.
The reason to use --no-defaults is to ensure that we don't inherit incorrect options from some old my.cnf.
Setting Up Different Data Directories
To create a different data directories for each installation:
This will create a directory data inside the current directory.
If you want to use another disk, you should run this command:
Running a MariaDB Server
The normal steps are:
Setting Up a .my.cnf file for Running Multiple MariaDB Versions
If you are going to start/stop MariaDB a lot of times, you should create
a ~/.my.cnf file for the common options you are using.
The following example shows how to use a non-standard TCP-port and socket (to not interfere with a main MySQL/MariaDB server) and how to setup different options for each main server:
If you create an ~/.my.cnf file, you should startmysqld with --defaults-file=~/.my.cnf instead of --no-defaults in the examples above.
This page is licensed: CC BY-SA / Gnu FDL
Last updated
Was this helpful?

