#!/bin/sh
# Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
# This file is public domain and comes with NO WARRANTY of any kind
#
# scripts to start the MySQL demon and restart it if it dies unexpectedly
#
# This should be executed in the MySQL base directory if you are using a
# binary installation that has other paths than you are using.
#
# mysql.server works by first doing a cd to the base directory and from there
# executing safe_mysqld
RootDir=/scsi2/server1
MY_BASEDIR_VERSION=$RootDir/seadog/mysql-install
DATADIR=$RootDir/seadog/mysql
ledir=$RootDir/seadog/mysql-install
pidfile=$DATADIR/mysql.pid
log=$DATADIR/mysql.log
err=$DATADIR/mysql.err
#
# If there exists an old pid file, check if the demon is already running
# Note: The switches to 'ps' may depend on your operating system
if test -f $pidfile
then
PID=`cat $pidfile`
if /bin/kill -0 $PID
then
if /bin/ps -uaxww | grep mysqld | grep " $PID " > /dev/null
then # The pid contains a mysqld process
echo "A mysqld process already exists"
echo "A mysqld process already exists at " `date` >> $log
exit 1;
fi
fi
rm -f $pidfile
if test -f $pidfile
then
echo "Fatal error: Can't remove the pid file: $pidfile"
echo "Fatal error: Can't remove the pid file: $pidfile at " `date` >> $log
echo "Please remove it manually and start $0 again"
echo "mysqld demon not started"
exit 1;
fi
fi
echo "Starting mysqld demon with databases from $DATADIR"
# Does this work on all systems?
#if type ulimit | grep "shell builtin" > /dev/null
#then
# ulimit -n 256 > /dev/null 2>&1 # Fix for BSD and FreeBSD systems
#fi
echo "mysqld started on " `date` >> $log
while true
do
rm -f $MYSQL_UNIX_PORT $pidfile # Some extra safety
if test "$#" -eq 0
then
nohup $ledir/mysqld --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR --pid-file=$pidfile --socket=$RootDir/seadog/mysql/mysqld.sock\
>> $err 2>&1
else
nohup $ledir/mysqld --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR --pid-file=$pidfile --socket=$RootDir/seadog/mysqlmysqld.sock\
"$@" >> $err 2>&1
fi
if test ! -f $pidfile # This is removed if normal shutdown
then
break;
fi
echo "mysqld restarted" | tee -a $log
done
echo -n "mysqld ended on " `date` >> $log
echo "mysqld demon ended"