#! /usr/bin/bash
########################################################################
# Begin mysql
#
# Description : Start MysSQL Server
# chkconfig: 2345 65 20
#
# Author      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#
# Version     : LFS 7.0
#
########################################################################

### BEGIN INIT INFO
# Provides:            mysql $database
# Required-Start:      $network
# Should-Start:        $remote_fs
# Required-Stop:       
# Should-Stop:
# Default-Start:       3 4 5
# Default-Stop:        0 1 2 6
# Short-Description:   Starts MySQL server.
# Description:         Starts MySQL server.
# X-LFS-Provided-By:   BLFS / LFS 7.0
### END INIT INFO

. /lib/lsb/init-functions

#$LastChangedBy: igor $
#$Date: 2014-10-11 03:51:32 -0500 (Sat, 11 Oct 2014) $

APPNAME=mysql
DAEMON=${APPNAME}d
PIDFILE=/run/${DAEMON}/${DAEMON}.pid
DATADIR=/var/lib/${APPNAME}
MARIADB=${DATADIR}/${APPNAME}

case "$1" in
   start)
      if [ ! -d "$MARIADB" ] ; then
        log_info_msg "Building MySQL Database structure..."
	mysql_install_db 					\
		--basedir=/usr					\
		--datadir=${DATADIR}				\
	       	--user=mysql 1>${DATADIR}/build.log 2>&1
        evaluate_retval
	if [ ! -d "${MARIADB}" ] ; then
	  exit 1
  	  fi
	fi
      log_info_msg "Starting MySQL daemon..."

      # Make sure the mysql user can create a socket
      mkdir -p /run/${DAEMON}
      chown mysql:mysql /run/${DAEMON}

      if [ -f "${PIDFILE}" ]; then
         if /usr/bin/ps -e | grep `cat ${PIDFILE}` | grep ${DAEMON} >/dev/null ; then
            log_warning_msg "\n   mysqld already running!" 
            exit 0
         else
            rm -f "${PIDFILE}"
            if [ -f "${PIDFILE}" ]; then
               log_failure_msg2
               exit 1
            fi
         fi
      fi

      /usr/bin/mariadbd-safe 				\
	      --pid-file=${PIDFILE}			\
	      --user=mysql				\
	      --log-error=/var/log/mysql/mysql.log	\
	      2>&1 >/dev/null &
      evaluate_retval
      ;;

   stop)
      log_info_msg "Stopping MySQL daemon..."
      killproc -p ${PIDFILE} /usr/sbin/mysqld
      evaluate_retval
      ;;

   reload)
      log_info_msg "Reloading MySQL ..."
      killproc -p ${PIDFILE} /usr/sbin/mysqld -HUP
      evaluate_retval
      ;;

   restart)
      $0 stop
      sleep 1
      $0 start
      ;;

   condrestart)
      $0 status
      if [ $? = 0 ] ; then
        $0 restart
        fi
      ;;

   status)
      pid=`cat ${PIDFILE} 2>/dev/null`
      if [ -n "${pid}"  -a -d /proc/$pid ]; then
        exit 0
        fi
      exit 1
      ;;

   *)
      echo "Usage: $0 {start|stop|reload|restart|status}"
      exit 1
      ;;
esac

# End /etc/init.d/mysql
