MARIADBD-MULTI(1)
π MARIADBD-MULTI(1) π
okay bestie, so this is the manual page for mariadbd-multi, straight out of the MariaDB Database System β it lives in section 1 of the manual, which is the section for user commands. no cap. π«Ά
β¨ NAME β¨
mariadbd-multi β manage multiple MariaDB servers π
and listen, the page is very specific about this next bit, so imma say it exactly like it says it:
(mariadbd-multiis now a symlink tomariadbd-multi)
yes. that's literally what the page says. we do not question the lore, we just report it. π the documentation said what it said.
πΈ SYNOPSIS πΈ
the whole vibe in one line, here it is:
mariadbd-multi [options] {start|stop|report} [GNR[,GNR] ...]
so you give it some options if you want, then you have to tell it start, stop, or report β pick one, it's giving choose-your-own-adventure but make it daemons π₯ β and then optionally some GNRs, which can also be a comma-separated list of GNRs, in case you're feeling extra. β¨
β¨ DESCRIPTION β¨
mariadbd-multi is literally the friend group manager for your MariaDB servers π
She's designed to manage several mariadbd processes that each listen for connections on their own different Unix socket files and TCP/IP ports. She can start servers, stop servers, or report their current status β like a group chat admin but for daemons.
mariadbd-multi goes looking for groups named [mariadbdN] in my.cnf (or in whatever file the --config-file option names). N can be any positive integer. This number gets called the option group number, or GNR, for the rest of this discussion. Group numbers are how we tell option groups apart from each other, and you use them as arguments to mariadbd-multi to say which servers you wanna start, stop, or get a status report for. The options you list in these groups are the same ones you'd use in the [mariadbd] group when starting mariadbd. BUT β and this is important bestie β when you're running multiple servers, each one has to have its own value for options like the Unix socket file and TCP/IP port number. No sharing, no overlap, no drama π«Ά
To invoke mariadbd-multi, use this syntax:
shell> mariadbd-multi [options] {start|stop|report} [GNR[,GNR] ...]
start, stop, and report are the operations β they tell her what to do. You can do the designated operation for one single server or for a whole bunch of servers, depending on the GNR list that follows the option name. And if there's no list at all? Then mariadbd-multi just does the thing for all the servers in the option file. She's thorough like that π
Every GNR value is an option group number or a range of group numbers. The value should be the number at the end of the group name in the option file. So for a group named [mariadbd17], the GNR is 17. Wanna specify a range? Separate the first and last numbers with a dash. So the GNR value 10-13 means groups [mariadbd10] through [mariadbd13]. You can list multiple groups or group ranges on the command line, separated by commas. And there must be no whitespace characters (spaces or tabs) in the GNR list β anything after a whitespace character is ignored, periodt.
This command starts a single server using option group [mariadbd17]:
shell> mariadbd-multi start 17
This command stops several servers, using option groups [mariadbd8] and [mariadbd10] through [mariadbd13]:
shell> mariadbd-multi stop 8,10-13
Wanna see an example of how you might set up an option file? Run this:
shell> mariadbd-multi --example
mariadbd-multi searches for option files like this:
- With
--no-defaults, no option files are read. None. Zero. Nada π - With
--defaults-file=file_name, only the named file is read. - Otherwise, option files in the standard list of locations are read, including any file named by the
--defaults-extra-file=file_nameoption, if one is given. (If the option is given multiple times, the last value is used. Last one wins, no takebacks.)
The option files that get read are searched for [mariadbd-multi] and [mariadbdN] option groups. The [mariadbd-multi] group can be used for options to mariadbd-multi herself. The [mariadbdN] groups can be used for options that get passed to specific mariadbd instances.
The [mariadbd] or [mariadbd_safe] groups can be used for common options read by all instances of mariadbd or mariadbd_safe. You can specify a --defaults-file=file_name option to use a different configuration file for that instance, in which case the [mariadbd] or [mariadbd_safe] groups from that file will be used for that instance. Mix and match, she supports it π
π OPTIONS π
mariadbd-multi supports the following options.
--helpβ Display a help message and exit. Classic.--exampleβ Display a sample option file. Very demure, very helpful.--log=file_nameβ Specify the name of the log file. If the file exists, log output is appended to it. No overwriting, she's polite.--mariadb-admin=prog_nameβ Themariadb-adminbinary to be used to stop servers.--mariadbd=prog_nameβ Themariadbdbinary to be used. Note that you can specifymariadbd_safeas the value for this option also. If you usemariadbd_safeto start the server, you can include themariadbdorlediroptions in the corresponding[mariadbdN]option group. These options indicate the name of the server thatmariadbd_safeshould start and the path name of the directory where the server is located. (See the descriptions for these options inmariadbd_safe(1).) Example:
[mariadbd38]
mariadbd = mariadbd-debug
ledir = /opt/local/mysql/libexec
--no-logβ Print log information tostdoutrather than to the log file. By default, output goes to the log file.--password=passwordβ The password of the MariaDB account to use when invokingmariadb-admin. Note that the password value is not optional for this option, unlike for other MariaDB programs. So don't skip it, bestie, she will not fill in the blanks for you π--silentβ Silent mode; disable warnings. Shhh π€«--tcp-ipβ Connect to the MariaDB server(s) via the TCP/IP port instead of the UNIX socket. This affects stopping and reporting. If a socket file is missing, the server may still be running, but can be accessed only via the TCP/IP port. By default connecting is done via the UNIX socket. This option affectsstopandreportoperations.--user=user_nameβ The user name of the MariaDB account to use when invokingmariadb-admin.--verboseβ Be more verbose. Give her the microphone π€--versionβ Display version information and exit.--wsrep-new-clusterβ Bootstrap a cluster. Main character energy fr fr π
π¦ SOME NOTES ABOUT mariadbd-multi π¦
- Most important: Before using
mariadbd-multibe sure that you understand the meanings of the options that are passed to themariadbdservers and why you would want to have separatemariadbdprocesses. Beware of the dangers of using multiplemariadbdservers with the same data directory. Use separate data directories, unless you know what you are doing. Starting multiple servers with the same data directory does not give you extra performance in a threaded system. It's giving chaos, not speed π - Important: Make sure that the data directory for each server is fully accessible to the Unix account that the specific
mariadbdprocess is started as. Do not use the Unixrootaccount for this, unless you know what you are doing. Seriously. - Make sure that the MariaDB account used for stopping the
mariadbdservers (with themariadbadminprogram) has the same user name and password for each server. Also, make sure that the account has theSHUTDOWNprivilege. If the servers that you want to manage have different user names or passwords for the administrative accounts, you might want to create an account on each server that has the same user name and password. For example, you might set up a commonmulti_adminaccount by executing the following commands for each server:
shell> mariadb -u root -S /tmp/mariadb.sock -p
Enter password:
mariadb> GRANT SHUTDOWN ON *.*
-> TO 'multi_admin'@'localhost' IDENTIFIED BY 'multipass';
Change the connection parameters appropriately when connecting to each one. Note that the host name part of the account name must allow you to connect as multi_admin from the host where you want to run mariadbd-multi.
- The Unix socket file and the TCP/IP port number must be different for every
mariadbd. (Alternatively, if the host has multiple network addresses, you can use--bind-addressto cause different servers to listen to different interfaces.) - The
--pid-fileoption is very important if you are usingmariadbd-safeto startmariadbd(for example,--mariadbd=mariadbd-safe). Everymariadbdshould have its own process ID file. The advantage of usingmariadbd-safeinstead ofmariadbdis thatmariadbd-safemonitors itsmariadbdprocess and restarts it if the process terminates due to a signal sent usingkill -9or for other reasons, such as a segmentation fault. Please note that themariadbd-safescript might require that you start it from a certain place. This means that you might have to change location to a certain directory before runningmariadbd-multi. If you have problems starting, please see themariadbd-safescript. Check especially the lines:
----------------------------------------------------------------
MY_PWD=`pwd`
# Check if we are starting this relative (for the binary release)
if test -d $MY_PWD/data/mariadb -a \
-f ./share/mariadb/english/errmsg.sys -a \
-x ./bin/mariadbd
----------------------------------------------------------------
The test performed by these lines should be successful, or you might encounter problems. See mariadbd-safe(1).
- You might want to use the
--useroption formariadbd, but to do this you need to run themariadbd-multiscript as the Unixrootuser. Having the option in the option file doesn't matter; you just get a warning if you are not the superuser and themariadbdprocesses are started under your own Unix account.
π THE EXAMPLE OPTION FILE π
The following example shows how you might set up an option file for use with mariadbd-multi. The order in which the mariadbd programs are started or stopped depends on the order in which they appear in the option file. Group numbers need not form an unbroken sequence. The first and fifth [mariadbdN] groups were intentionally omitted from the example to illustrate that you can have "gaps" in the option file. This gives you more flexibility. She said gaps are allowed, slay β¨
# This file should probably be in your home dir (~/.my.cnf)
# or /etc/my.cnf
# Version 2.1 by Jani Tolonen
[mariadbd-multi]
mariadbd = /usr/local/bin/mariadbd-safe
mariadb-admin = /usr/local/bin/mariadb-admin
user = multi_admin
password = multipass
[mariadbd2]
socket = /tmp/mariadb.sock2
port = 3307
pid-file = /usr/local/mysql/var2/hostname.pid2
datadir = /usr/local/mysql/var2
language = /usr/local/share/mariadb/english
user = john
[mariadbd3]
socket = /tmp/mysql.sock3
port = 3308
pid-file = /usr/local/mysql/var3/hostname.pid3
datadir = /usr/local/mysql/var3
language = /usr/local/share/mariadb/swedish
user = monty
[mariadbd4]
socket = /tmp/mysql.sock4
port = 3309
pid-file = /usr/local/mysql/var4/hostname.pid4
datadir = /usr/local/mysql/var4
language = /usr/local/share/mariadb/estonia
user = tonu
[mariadbd6]
socket = /tmp/mysql.sock6
port = 3311
pid-file = /usr/local/mysql/var6/hostname.pid6
datadir = /usr/local/mysql/var6
language = /usr/local/share/mariadb/japanese
user = jani
π COPYRIGHT π
Okay bestie, legal era, but make it cute. Here's who owns this thing:
- Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2025 MariaDB Foundation
This documentation is free software, and the way that it's free is very specific, so listen up:
- You can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation, version 2 of the License.
That word "only" is doing so much heavy lifting rn. Not "kinda", not "mostly", not "if you feel like it". Only. Version 2. Periodt.
This documentation is distributed in the hope that it will be useful, but β and I need you to sit with this one β WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
No cap, that's the actual all-caps screaming part of the license and it is not a vibe I'm softening for you. If it breaks, that's on you, not on them. π«Ά
And the part everyone skips but shouldn't, because it's literally the instructions:
You should have received a copy of the GNU General Public License along with the program; if not, you can write to:
Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor
Boston, MA 02110-1335 USA
or just go look at it online at http://www.gnu.org/licenses/. Slay, licensing sorted, moving on. π
π SEE ALSO π
For more information, please refer to the MariaDB Documentation, available online at:
https://mariadb.com/docs/
That's the main character of your bookmark bar, fr fr. Go read it. π₯
π AUTHOR π
MariaDB Foundation (http://www.mariadb.org/).
That's it. That's the author. Icons only, no notes. π
MariaDB 11.8 Β· 5 March 2025 Β· and that's the whole MARIADBD-MULTI(1) page, bestie β you read the entire thing, which honestly? iconic behavior. Go run something and have the best day. πβ¨π¦
π¦ where this page comes from
- alpine 3.24: mariadb-doc 11.8.9-r0 Β· GPL-2.0-only
- arch rolling: mariadb 13.0.2-2 Β· GPL-2.0-only
- arch rolling: mariadb-lts 12.3.3-2 Β· GPL-2.0-only
- centos-stream 10: mariadb11.8-server-utils 3:11.8.8-1.el10 Β· ( GPL-2.0-only OR Apache-2.0 ) AND ( GPL-2.0-or-later OR Apache-2.0 ) AND BSD-2-Clause AND BSD-3-Clause AND CC-BY-4.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ( GPL-3.0-or-later WITH Bison-exception-2.2 ) AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND OpenSSL AND MIT AND OFL-1.1 AND CC0-1.0 AND PHP-3.0 AND PHP-3.01 AND zlib AND dtoa AND FSFAP AND blessing AND Info-ZIP AND Boehm-GC
- centos-stream 9: mariadb-server-utils 3:11.8.8-1.module_el9+1370+ec5ecc2e Β· ( GPL-2.0-only OR Apache-2.0 ) AND ( GPL-2.0-or-later OR Apache-2.0 ) AND BSD-2-Clause AND BSD-3-Clause AND CC-BY-4.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ( GPL-3.0-or-later WITH Bison-exception-2.2 ) AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND OpenSSL AND MIT AND OFL-1.1 AND CC0-1.0 AND PHP-3.0 AND PHP-3.01 AND zlib AND dtoa AND FSFAP AND blessing AND Info-ZIP AND Boehm-GC
- debian trixie: mariadb-server-compat 1:11.8.6-0+deb13u1 Β· GPL-2.0-only
- fedora 43: mariadb11.8-server-utils 3:11.8.8-1.fc43 Β· ( GPL-2.0-only OR Apache-2.0 ) AND ( GPL-2.0-or-later OR Apache-2.0 ) AND BSD-2-Clause AND BSD-3-Clause AND CC-BY-4.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ( GPL-3.0-or-later WITH Bison-exception-2.2 ) AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND OpenSSL AND MIT AND OFL-1.1 AND CC0-1.0 AND PHP-3.0 AND PHP-3.01 AND zlib AND dtoa AND FSFAP AND blessing AND Info-ZIP AND Boehm-GC
- fedora 43: mariadb12.3-server-utils 3:12.3.2-2.fc43 Β· ( GPL-2.0-only OR Apache-2.0 ) AND ( GPL-2.0-or-later OR Apache-2.0 ) AND BSD-2-Clause AND BSD-3-Clause AND CC-BY-4.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ( GPL-3.0-or-later WITH Bison-exception-2.2 ) AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND OpenSSL AND MIT AND OFL-1.1 AND CC0-1.0 AND PHP-3.0 AND PHP-3.01 AND zlib AND dtoa AND FSFAP AND blessing AND Info-ZIP AND Boehm-GC
- fedora 44: mariadb-server-utils 3:11.8.6-2.fc44 Β· ( GPL-2.0-only OR Apache-2.0 ) AND ( GPL-2.0-or-later OR Apache-2.0 ) AND BSD-2-Clause AND BSD-3-Clause AND CC-BY-4.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ( GPL-3.0-or-later WITH Bison-exception-2.2 ) AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND OpenSSL AND MIT AND OFL-1.1 AND CC0-1.0 AND PHP-3.0 AND PHP-3.01 AND zlib AND dtoa AND FSFAP AND blessing AND Info-ZIP AND Boehm-GC
- fedora 44: mariadb-server-utils 3:11.8.8-3.fc44 Β· ( GPL-2.0-only OR Apache-2.0 ) AND ( GPL-2.0-or-later OR Apache-2.0 ) AND BSD-2-Clause AND BSD-3-Clause AND CC-BY-4.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ( GPL-3.0-or-later WITH Bison-exception-2.2 ) AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND OpenSSL AND MIT AND OFL-1.1 AND CC0-1.0 AND PHP-3.0 AND PHP-3.01 AND zlib AND dtoa AND FSFAP AND blessing AND Info-ZIP AND Boehm-GC
- fedora 44: mariadb12.3-server-utils 3:12.3.2-2.fc44 Β· ( GPL-2.0-only OR Apache-2.0 ) AND ( GPL-2.0-or-later OR Apache-2.0 ) AND BSD-2-Clause AND BSD-3-Clause AND CC-BY-4.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ( GPL-3.0-or-later WITH Bison-exception-2.2 ) AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND OpenSSL AND MIT AND OFL-1.1 AND CC0-1.0 AND PHP-3.0 AND PHP-3.01 AND zlib AND dtoa AND FSFAP AND blessing AND Info-ZIP AND Boehm-GC
- nixpkgs unstable: mariadb-server 11.8.8
- opensuse-leap 16.0: mariadb 11.8.8-160000.1.1 Β· SUSE-GPL-2.0-with-FLOSS-exception
- opensuse-leap 16.0: mariadb 11.8.8-160000.1.1 Β· SUSE-GPL-2.0-with-FLOSS-exception
- opensuse-leap 16.0: mariadb 11.8.8-160000.1.1 Β· SUSE-GPL-2.0-with-FLOSS-exception
- opensuse-leap 16.0: mariadb 11.8.8-160000.1.1 Β· SUSE-GPL-2.0-with-FLOSS-exception
- ubuntu resolute: mariadb-server-compat 1:11.8.6-5 Β· GPL-2.0-only
- ubuntu resolute: mariadb-server-compat 1:11.8.6-5ubuntu0.1 Β· GPL-2.0-only
- ubuntu stonking: mariadb-server-compat 1:11.8.9+ds-4ubuntu2 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms