#!/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
