#!/bin/bash MYSQLD_ROOT="/var/lib/mysql" # source application-specific settings [ -f /etc/conf.d/mysqld ] && . /etc/conf.d/mysqld # general config . /etc/rc.conf . /etc/rc.d/functions getPID() { echo $(pgrep -u mysql mysqld); } case "$1" in start) stat_busy "Starting MySQL" if [ -z "$(getPID)" ]; then /usr/bin/mysqld_safe --datadir=$MYSQLD_ROOT &>/dev/null & if [ $? -gt 0 ]; then stat_fail exit 1 else timeo=30 while [ $timeo -gt 0 ]; do response=`/usr/bin/mysqladmin -uUNKNOWN_USER ping 2>&1` && break echo "$response" | grep -q "mysqld is alive" && break sleep 1 let timeo=${timeo}-1 done if [ $timeo -eq 0 ]; then stat_fail exit 1 else echo $(getPID) >/var/run/mysqld/mysqld.pid add_daemon mysqld stat_done fi fi else stat_fail exit 1 fi ;; stop) stat_busy "Stopping MySQL" if [ ! -z "$(getPID)" ]; then kill $(getPID) &> /dev/null if [ $? -gt 0 ]; then stat_fail exit 1 else rm -f /var/run/mysqld/mysqld.pid &>/dev/null rm_daemon mysqld stat_done fi else stat_fail exit 1 fi ;; restart) $0 stop sleep 3 $0 start ;; *) echo "usage: $0 {start|stop|restart}" esac exit 0