![Ryan Coe](/assets/img/avatar_default.png)
Signed-off-by: Ryan Coe <bluemrp9@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
78 lines
1.3 KiB
Bash
78 lines
1.3 KiB
Bash
#!/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
|