diff options
Diffstat (limited to 'abs/core/mysql/mysqld')
| -rwxr-xr-x | abs/core/mysql/mysqld | 87 | 
1 files changed, 87 insertions, 0 deletions
| diff --git a/abs/core/mysql/mysqld b/abs/core/mysql/mysqld new file mode 100755 index 0000000..0fcecf7 --- /dev/null +++ b/abs/core/mysql/mysqld @@ -0,0 +1,87 @@ +#!/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 + +PID=`pidof -o %PPID /usr/sbin/mysqld` +if [ ! `egrep '^mysql:' /etc/group` ]; then +  stat_busy "Adding mysql group" +  groupadd -g 89 mysql +  stat_done +fi +if [ ! `egrep '^mysql:' /etc/passwd` ]; then +  stat_busy "Adding mysql user" +  useradd -u 89 -g mysql -d $MYSQLD_ROOT -s /bin/false mysql +  [ -d $MYSQLD_ROOT ] && chown -R mysql.mysql $MYSQLD_ROOT +  stat_done +fi + +if [ ! -d $MYSQLD_ROOT ]; then +  mkdir $MYSQLD_ROOT +  /usr/bin/mysql_install_db --datadir=$MYSQLD_ROOT --user=mysql +  chown -R mysql.mysql $MYSQLD_ROOT +fi + +if [ ! -e /var/log/mysqld.log ]; then +  touch /var/log/mysqld.log +  chown mysql /var/log/mysqld.log +fi + +case "$1" in +  start) +    stat_busy "Starting MySQL" +    if [ -z "$PID" ]; then +       /usr/bin/mysqld_safe --datadir=$MYSQLD_ROOT &>/dev/null & +      if [ $? -gt 0 ]; then +        stat_fail +        exit 1 +      else +        sleep 1 # wait on children +        PID=`pidof -o %PPID /usr/sbin/mysqld` +        if [ -z "$PID" ]; then +          stat_fail +          exit 1 +        else +          echo $PID >/var/run/mysqld.pid +          add_daemon mysqld +          stat_done +        fi +      fi +    else +      stat_fail +      exit 1 +    fi +    ;; + +  stop) +    stat_busy "Stopping MySQL" +    if [ ! -z "$PID" ]; then +      kill $PID &> /dev/null       +      if [ $? -gt 0 ]; then +        stat_fail +        exit 1 +      else +        rm -f /var/run/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 | 
