blob: 62357fa8c489bec157a9d75ca57add58f0d517e7 [file] [log] [blame]
#!/bin/sh
#
# mysql
#
MYSQL_LIB="/var/lib/mysql"
MYSQL_RUN="/run/mysql"
MYSQL_PID="$MYSQL_RUN/mysqld.pid"
MYSQL_BIN="/usr/bin"
wait_for_ready() {
WAIT_DELAY=5
while [ $WAIT_DELAY -gt 0 ]; do
if $MYSQL_BIN/mysqladmin ping > /dev/null 2>&1; then
return 0
fi
sleep 1
: $((WAIT_DELAY -= 1))
done
return 1
}
start() {
if [ `ls -1 $MYSQL_LIB | wc -l` = 0 ] ; then
printf "Creating mysql system tables ... "
$MYSQL_BIN/mysql_install_db --basedir=/usr --user=mysql \
--datadir=$MYSQL_LIB > /dev/null 2>&1
if [ $? != 0 ]; then
echo "FAIL"
exit 1
fi
echo "OK"
fi
# mysqld runs as user mysql, but /run is only writable by root
# so create a subdirectory for mysql.
install -d -o mysql -g root -m 0755 $MYSQL_RUN
# We don't use start-stop-daemon because mysqld has its own
# wrapper script.
printf "Starting mysql ... "
$MYSQL_BIN/mysqld_safe --pid-file=$MYSQL_PID --user=mysql \
> /dev/null 2>&1 &
wait_for_ready
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
stop() {
printf "Stopping mysql ... "
if [ -f $MYSQL_PID ]; then
kill `cat $MYSQL_PID` > /dev/null 2>&1
[ $? = 0 ] && echo "OK" || echo "FAIL"
else
echo "FAIL"
fi
}
restart() {
stop
sleep 1
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
;;
esac