summaryrefslogtreecommitdiff
path: root/nonsystemd/mariadb-openrc/mariadb-supervise.initd
diff options
context:
space:
mode:
Diffstat (limited to 'nonsystemd/mariadb-openrc/mariadb-supervise.initd')
-rw-r--r--nonsystemd/mariadb-openrc/mariadb-supervise.initd38
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#*=}
+}