rendered paste body#!/bin/sh
# Start script for CSW www.blastwave.org package of MySQL database.
#
# Startup options may be overriden by creating and editing either
# /opt/csw/mysql4/etc/mysql4rc or /etc/opt/csw/mysql4rc. The template
# for mysql4rc is in /opt/csw/mysql4/share/mysql. You must use
# this template.
#
# For example,
# mkdir -p /etc/opt/csw
# cp /opt/csw/mysql4/share/mysql/mysql4rc /etc/opt/csw/
#
# If no mysql4rc file is available, the daemon starts with defaults.
#
RETVAL=0
MYSQLHOME=/opt/csw/mysql4
MYSQLD_PID_FILE=$MYSQLHOME/var/mysql.pid
CONFFILE=$MYSQLHOME/var/my.cnf
# To get started quickly, copy a sample configuration file from
# $MYSQLHOME/share/mysql
# For example,
# cp /opt/csw/mysql4/share/mysql/my-medium.cnf /opt/csw/mysql4/var/my.cnf
#
# Or, manually follow the database creation steps below, and have
# mysql just use defaults for everything.
if [ ! -f "$CONFFILE" ] ; then
CONFFILE=/etc/my.cnf
fi
if [ ! -d "$MYSQLHOME/var/mysql" -a ! -f "$CONFFILE" ] ; then
exit 0
fi
# Source configuration
[ -r /opt/csw/mysql4/etc/mysql4rc ] && . /opt/csw/mysql4/etc/mysql4rc
[ -r /etc/opt/csw/mysql4rc ] && . /etc/opt/csw/mysql4rc
# Make sure required vars are set
MYSQLD_PID_FILE=${MYSQLD_PID_FILE:=$MYSQLHOME/var/mysql.pid}
# If a conf file has been created, assume we should start up, and
# create an intro database if need.
# If a database already exists, start whether or not there is a conf file.
# If no conf file, the database will just use internal defaults for everything.
start_it() {
if test -r $MYSQLD_PID_FILE ; then
if kill -0 `cat $MYSQLD_PID_FILE` > /dev/null 2>&1 ; then
echo "mysqld (`cat $MYSQLD_PID_FILE`) seems to be running."
return 1
fi
fi
printf "%-60s" "Starting mysqld: "
if [ ! -d "$MYSQLHOME/var/mysql" ] ; then
echo MySQL core database has not been created.
echo Creating it now...
$MYSQLHOME/bin/mysql_install_db
chown -R mysql:mysql $MYSQLHOME/var
fi
$MYSQLHOME/bin/mysqld_safe --pid-file=$MYSQLD_PID_FILE \
`[ -n "$MYSQLD_ANSI" ] && echo "--ansi"` \
`[ -n "$MYSQLD_BASEDIR" ] && echo "--basedir=$MYSQLD_BASEDIR"` \
`[ -n "$MYSQLD_BIG_TABLES" ] && echo "--big-tables"` \
`[ -n "$MYSQLD_BIND_ADDRESS" ] && echo "--bind-address=$MYSQLD_BIND_ADDR
ESS"` \
`[ -n "$MYSQLD_CHARACTER_SETS" ] && echo "--character-sets-dir=$MYSQLD_C
HARACTER_SETS"` \
`[ -n "$MYSQLD_CHROOT" ] && echo "--chroot=$MYSQLD_CHROOT"` \
`[ -n "$MYSQLD_DATADIR" ] && echo "--datadir=$MYSQLD_DATADIR"` \
`[ -n "$MYSQLD_DEFAULT_CHARSET" ] && echo "--default-character-set=$MYSQ
LD_DEFAULT_CHARSET"` \
`[ -n "$MYSQLD_DEFAULT_TABLE_TYPE" ] && echo "--default-table-type=$MYSQ
LD_DEFAULT_TABLE_TYPE"` \
`[ -n "$MYSQLD_DELAY_KEY_WRITE_TABLES" ] && echo "--delay-key-write-for-
all-tables"` \
`[ -n "$MYSQLD_ENABLE_LOCKING" ] && echo "--enable-locking"` \
`[ -n "$MYSQLD_EXIT_INFO" ] && echo "--exit-info"` \
`[ -n "$MYSQLD_FLUSH" ] && echo "--flush"` \
`[ -n "$MYSQLD_INIT_FILE" ] && echo "--init-file=$MYSQLD_INIT_FILE"` \
`[ -n "$MYSQLD_LANGUAGE" ] && echo "--language=$MYSQLD_LANGUAGE"` \
`[ -n "$MYSQLD_LOG" ] && echo "--log=$MYSQLD_LOG"` \
`[ -n "$MYSQLD_LOG_ISAM" ] && echo "--log-isam=$MYSQLD_LOG_ISAM"` \
`[ -n "$MYSQLD_LOG_SLOW_QUERIES" ] && echo "--log-slow-queries=$MYSQLD_L
OG_SLOW_QUERIES` \
`[ -n "$MYSQLD_LOG_UPDATE" ] && echo "--log-update=$MYSQLD_LOG_UPDATE"`
\
`[ -n "$MYSQLD_LOG_LONG_FORMAT" ] && echo "--log-long-format"` \
`[ -n "$MYSQLD_LOW_PRIORITY_UPDATES" ] && echo "--low-priority-updates"`
\
`[ -n "$MYSQLD_MEMLOCK" ] && echo "--memlock"` \
`[ -n "$MYSQLD_MYISAM_RECOVER" ] && echo "--myisam-recover=$MYSQLD_MYISA
M_RECOVER"` \
`[ -n "$MYSQLD_PORT" ] && echo "--port=$MYSQLD_PORT"` \
`[ -n "$MYSQLD_OLD_PROTOCOL" ] && echo "--old-protocol"` \
`[ -n "$MYSQLD_ONE_THREAD" ] && echo "--one-thread"` \
`[ -n "$MYSQLD_SET_VARIABLE" ] && echo "--set-variablevar=$MYSQLD_SET_VA
RIABLE"` \
`[ -n "$MYSQLD_SKIP_GRANT_TABLES" ] && echo "--skip-grant-tables"` \
`[ -n "$MYSQLD_SAFE_MODE" ] && echo "--safe-mode"` \
`[ -n "$MYSQLD_SECURE" ] && echo "--secure"` \
`[ -n "$MYSQLD_SKIP_CONCURRENT_INSERT" ] && echo "--skip-concurrent-inse
rt"` \
`[ -n "$MYSQLD_SKIP_DELAY_KEY_WRITE" ] && echo "--skip-delay-key-write"`
\
`[ -n "$MYSQLD_SKIP_LOCKING" ] && echo "--skip-locking"` \
`[ -n "$MYSQLD_SKIP_NAME_RESOLVE" ] && echo "--skip-name-resolve"` \
`[ -n "$MYSQLD_SKIP_NETWORKING" ] && echo "--skip-networking"` \
`[ -n "$MYSQLD_SKIP_NEW" ] && echo "--skip-new"` \
`[ -n "$MYSQLD_SKIP_HOST_CACHE" ] && echo "--skip-host-cache"` \
`[ -n "$MYSQLD_SKIP_SHOW_DATABASE" ] && echo "--skip-show-database"` \
`[ -n "$MYSQLD_SKIP_THREAD_PRIORITY" ] && echo "--skip-thread-priority"`
\
`[ -n "$MYSQLD_SOCKET" ] && echo "--socket=$MYSQLD_SOCKET"` \
`[ -n "$MYSQLD_TMPDIR" ] && echo "--tmpdir=$MYSQLD_TMPDIR"` \
`[ -n "$MYSQLD_USER" ] && echo "--user=$MYSQLD_USER"` \
& >/dev/null 2>&1
RETVAL=$?
if [ $RETVAL = 0 ] ; then
echo "[ OK ]"
else
echo "[FAILED]"
return 1
fi
return 0
}
stop_it() {
printf "%-60s" "Shutting down mysqld: "
if test -f "$MYSQLD_PID_FILE" ; then
pkill mysqld_safe >/dev/null 2>&1
kill `cat $MYSQLD_PID_FILE` >/dev/null 2>&1
RETVAL=$?
else
RETVAL=1
fi
if [ $RETVAL = 0 ] ; then
echo "[ OK ]"
else
echo "[FAILED]"
fi
echo ""
return 0
}
case $1 in
start)
start_it
;;
stop)
stop_it
;;
restart)
stop_it
while pgrep mysqld > /dev/null
do
sleep 1
done
start_it
;;
*)
echo "Usage: $0 { start | stop | restart } "
;;
esac
exit $RETVAL
$