diff options
Diffstat (limited to 'nonsystemd/mariadb-openrc/mariadb-supervise.initd')
-rw-r--r-- | nonsystemd/mariadb-openrc/mariadb-supervise.initd | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/nonsystemd/mariadb-openrc/mariadb-supervise.initd b/nonsystemd/mariadb-openrc/mariadb-supervise.initd new file mode 100644 index 000000000..eb77c9a5b --- /dev/null +++ b/nonsystemd/mariadb-openrc/mariadb-supervise.initd @@ -0,0 +1,38 @@ +#!/usr/bin/openrc-run +extra_stopped_commands="setup" +supervisor=supervise-daemon +#healthcheck_timer=10 + +retry="60" +pidfile="/run/mysqld/$RC_SVCNAME.pid" +command="/usr/bin/mysqld" +command_args="--basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --pid-file=/run/mysqld/mariadb.pid" + +depend() { + use net + need localmount +} + +start_pre() { + required_dirs=$(getconf datadir "/var/lib/mysql") + + if [ ! -d $required_dirs/mysql ]; then + eerror "Datadir '$required_dirs' is empty or invalid." + eerror "Run '/etc/init.d/mariadb setup' to create new database." + fi +} + +start_post() { + ewaitfile 10 $(getconf socket "/run/mysqld/mysqld.sock") +} + +setup() { + ebegin "Creating a new MySQL database" + mysql_install_db --user=mysql --datadir=/var/lib/mysql + eend $? +} + +getconf() { + v=$(my_print_defaults --mysqld | grep ^--$1) + [ -z $v ] && echo $2 || echo ${v#*=} +} |