#!/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 $