mariadb/mysql@.service.in
Daniel Black 8db0f6ac1a Document systemd service changes
Prefer the systemctl edit mysql.service syntax
and leave the more complex alternatives to the
existing documents referenced.

Also show how to use the multiinstance a bit more.

Cherry-picked from Fedora: a87e9e5d9a
Related: #1971248
2021-06-13 11:20:12 +02:00

86 lines
2.9 KiB
SYSTEMD

# Multi instance version of MariaDB. For if you run mutiple verions at once.
# Also used for @DAEMON_NAME@@bootstrap to bootstrap Galera.
#
# To use multi instance variant, use [mariadbd.INSTANCENAME] as sections in
# @sysconfdir@/@my.cnf to change per instance settings. A minimumal necessary
# configuration items to change to avoid conflicts between instances is:
#
# [mariadbd.instancename]
# # TCP port to make available for clients
# port=3306
# # Socket to make available for clients
# socket=/tmp/mariadb-instancename.sock
# # Where MariaDB should store all its data
# datadir=/usr/local/mariadb-instancename/data
#
# and start the service via:
#
# root> systemctl start @DAEMON_NAME@@{instancename}.server
#
# It's not recommended to modify this file in-place, because it will be
# overwritten during package upgrades. If you want to customize, for
# all instances, the best way is:
#
# root> systemctl edit @DAEMON_NAME@@.service
#
# Then add additonal directives under a section (probably [Service]).
#
# If you only want to change a specific instance:
#
# root> systemctl edit @DAEMON_NAME@@{instancename}.server
#
# For more info about custom unit files, see systemd.unit(5) or
# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F
#
# For example, if you want to increase MariaDB's open-files-limit to 10000,
# you need to increase systemd's LimitNOFILE setting, use the contents below:
#
# [Service]
# LimitNOFILE=10000
[Unit]
Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server
Documentation=man:mariadbd(8)
Documentation=https://mariadb.com/kb/en/library/systemd/
After=network.target
[Install]
WantedBy=multi-user.target
Alias=mysql.service
Alias=mysqld.service
[Service]
Type=notify
User=mysql
Group=mysql
ExecStartPre=@libexecdir@/mariadb-check-socket --defaults-group-suffix=.%I
ExecStartPre=@libexecdir@/mariadb-prepare-db-dir --defaults-group-suffix=.%I %n
# MYSQLD_OPTS here is for users to set in /etc/systemd/system/@DAEMON_NAME@@.service.d/MY_SPECIAL.conf
# Note: we set --basedir to prevent probes that might trigger SELinux alarms,
# per bug #547485
ExecStart=@libexecdir@/mariadbd --defaults-group-suffix=.%I --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER
ExecStartPost=@libexecdir@/mariadb-check-upgrade --defaults-group-suffix=.%I
# Setting this to true can break replication and the Type=notify settings
# See also bind-address MariaDB option.
PrivateNetwork=false
KillSignal=SIGTERM
# Don't want to see an automated SIGKILL ever
SendSIGKILL=no
# Restart crashed server only, on-failure would also restart, for example, when
# my.cnf contains unknown option
Restart=on-abort
RestartSec=5s
UMask=007
# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300
# Place temp files in a secure directory, not /tmp
PrivateTmp=true