#!/bin/sh /etc/rc.common # Copyright (C) 2010-2018 OpenWrt.org START=95 STOP=10 USE_PROCD=1 #PROCD_DEBUG=1 MYSQLD=mysqld DEFAULT=/etc/default/$MYSQLD LOGGER="/usr/bin/logger -p user.err -s -t $MYSQLD" PROG=/usr/bin/$MYSQLD unset MY_ARGS MY_GROUP MY_USER [ -f $DEFAULT ] && . $DEFAULT my_user="${MY_USER:-mariadb}" my_group="${MY_GROUP:-mariadb}" start_service() { local conf='/etc/mysql/my.cnf' local datadir="$( sed -nE "s/^\s*datadir\s*=\s*('([^']*)'|\x22([^\x22]*)\x22|(.*\S))\s*$/\2\3\4/p" "$conf" )" [ -d "$datadir" ] || { $LOGGER "datadir '$datadir' in '$conf' does not exist" return 1 } [ -f "$datadir/mysql/tables_priv.MYD" ] || { $LOGGER "cannot detect privileges table, you might need to" $LOGGER "run 'mysql_install_db --force' to initialize the system tables" return 1 } mkdir -p /var/lib/mysql chown "$my_user":"$my_group" /var/lib/mysql mkdir -p /var/run/mysqld chown "$my_user":"$my_group" /var/run/mysqld procd_open_instance procd_set_param command $PROG $MY_ARGS procd_set_param pidfile /var/run/mysqld.pid # forward stderr to logd procd_set_param stderr 1 procd_close_instance }