diff options
author | Daniel Black <grooverdan@users.sourceforge.net> | 2015-09-17 22:16:19 +1000 |
---|---|---|
committer | Sergey Vojtovich <svoj@mariadb.org> | 2015-10-12 17:51:49 +0200 |
commit | 20c2ae39db3dd0ec4c337a9b0bd2bf4481b61e49 (patch) | |
tree | b7764b7bcbae69da067c1d16592fdde2d82707ab /support-files/mariadb@.service.in | |
parent | 92271c78b6c78b1a0248ce5d1c96326b930de610 (diff) | |
download | mariadb-git-20c2ae39db3dd0ec4c337a9b0bd2bf4481b61e49.tar.gz |
MDEV-427/MDEV-5713 Add systemd script with notify functionality
Diffstat (limited to 'support-files/mariadb@.service.in')
-rw-r--r-- | support-files/mariadb@.service.in | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/support-files/mariadb@.service.in b/support-files/mariadb@.service.in new file mode 100644 index 00000000000..bfcc71a8d40 --- /dev/null +++ b/support-files/mariadb@.service.in @@ -0,0 +1,133 @@ +# Multi instance version of mariadb. For if you run mutiple verions at once. +# Also used for mariadb@bootstrap to bootstrap Galera. +# +# create config file @INSTALL_SYSCONF2DIR@/my{instancename}.cnf +# +# start as systemctl start mariadb@{instancename}.server + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# Thanks to: +# Daniel Black +# Erkan Yanar +# David Strauss +# and probably others +# Inspired from https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-db/mysql-init-scripts/files/mysqld_at.service + +[Unit] +Description=MariaDB database server +After=network.target +After=syslog.target + +ConditionPathExists=@INSTALL_SYSCONF2DIR@/my%I.cnf + +[Install] +WantedBy=multi-user.target +Alias=mysql.service +Alias=mysqld.service + + +[Service] + +############################################################################## +## Core requirements +## + +Type=notify + +# Setting this to true can break replication and the Type=notify settings +PrivateNetwork=false + +############################################################################## +## Package maintainers +## + +User=mysql + +# Execute pre and post scripts as root, otherwise it does it as User= +# PermissionsStartOnly=true + +# Needed to create system tables etc. +# ExecStartPre=/usr/bin/mysql_install_db + +# Start main service +# EXTRA_ARGS here is for users to set in /etc/systemd/system/mariadb@.service.d/MY_SPECIAL.conf +# Use the [service] section and Environment="EXTRA_ARGS=...". +# This isn't a replacement for my.cnf. + +ExecStart= +ExecStart=/usr/sbin/mysqld $EXTRA_ARGS --defaults-file=@INSTALL_SYSCONF2DIR@/my%I.cnf +# Alternate: (remove ConditionPathExists above) +# use [mysqld.INSTANCENAME] as sections in my.cnf +# +# ExecStart=/usr/sbin/mysqld $EXTRA_ARGS --defaults-group-suffix=%I + +KillMode=process +KillSignal=SIGTERM + +# Don't want to see an automated SIGKILL ever +SendSIGKILL=no + +# Exit status 1 is a fatal config error. Restarting won't help. +RestartPreventExitStatus=1 +Restart=on-failure +RestartSec=5s + +PrivateDevices=true + +UMask=077 + +############################################################################## +## USERs can override +## +## +## by creating a file in /etc/systemd/system/mariadb.service.d/MY_SPECIAL.conf +## and adding/setting the following will override this file's settings. + +# Useful options not previously available in [mysqld_safe] + +# Kernels like killing mysqld when out of memory because its big. +# Lets temper that preference a little. +OOMScoreAdjust=-600 + +# Explicitly start with high IO priority +BlockIOWeight=1000 + +# If you don't use the /tmp directory for SELECT ... OUTFILE and +# LOAD DATA INFILE you can enable PrivateTmp=true for a little more security. +PrivateTmp=false + +## +## Options previously available to be set via [mysqld_safe] +## that now needs to be set by systemd config files as mysqld_safe +## isn't executed. +## + +# Number of files limit. previously [mysqld_safe] open-file-limit +LimitNOFILE=16364 + +# Maximium core size. previously [mysqld_safe] core-file-size +# LimitCore= + +# Nice priority. previously [mysqld_safe] nice +# Nice=-5 + +# Timezone. previously [mysqld_safe] timezone +# Environment="TZ=UTC" + +# Library substitutions. previously [mysqld_safe] malloc-lib with explict paths +# (in LD_LIBRARY_PATH) and library name (in LD_PRELOAD). +# Environment="LD_LIBRARY_PATH=/path1 /path2" "LD_PRELOAD= + +# Flush caches. previously [mysqld_safe] flush-caches=1 +# ExecStartPre=sync +# ExecStartPre=sysctl -q -w vm.drop_caches=3 + +# numa-interleave=1 equalivant +# Change ExecStart=numactl --interleave=all /usr/sbin/mysqld...... + +# crash-script equalivent +# FailureAction= |