#!/bin/bash exec 2>&1 export TERM=linux . /etc/rc.conf . /etc/rc.d/functions stat_runit "Starting Mysql" MYSQLD_ROOT="/data/srv/mysql" # source application-specific settings [ -f /etc/conf.d/mysqld ] && . /etc/conf.d/mysqld if [ ! `egrep '^mysql:' /etc/group` ]; then stat_runit "Adding mysql group" groupadd -g 89 mysql fi if [ ! `egrep '^mysql:' /etc/passwd` ]; then stat_runit "Adding mysql user" useradd -u 89 -g mysql -d $MYSQLD_ROOT -s /bin/false mysql [ -d $MYSQLD_ROOT ] && chown -R mysql.mysql $MYSQLD_ROOT fi if [ ! -d $MYSQLD_ROOT ]; then mkdir -p $MYSQLD_ROOT /usr/bin/mysql_install_db --datadir=$MYSQLD_ROOT --user=mysql 2>/dev/null 1>/dev/null 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 if [ ! -d /var/run/mysqld ]; then mkdir -p /var/run/mysqld chown mysql /var/run/mysqld fi #check .err and truncate if more than 30000 lines ErrFile="/data/srv/mysql/`hostname`.err" if [[ $(wc -l < $ErrFile) -gt 30000 ]] then tail -n 30000 "$ErrFile" > "$ErrFile.tmp" && mv "$ErrFile.tmp" "$ErrFile" chown mysql.mysql "$ErrFile" fi HOME=/etc/mysql/ MYSQLADMIN='/usr/bin/mysqladmin' trap "$MYSQLADMIN shutdown" 0 trap 'exit 2' 1 2 3 15 /usr/bin/mysqld_safe --user=mysql >/dev/null 2>/dev/null & wait