diff options
author | unknown <lenz@mysql.com> | 2005-03-15 12:28:43 +0100 |
---|---|---|
committer | unknown <lenz@mysql.com> | 2005-03-15 12:28:43 +0100 |
commit | 7031cea4718b488eaec31c0f552c49096997663c (patch) | |
tree | e1219609041213d5762af4f2296f26baeaf1161e /support-files | |
parent | 01df5a157fb1b70dda18b4bdfa64e8635b930a24 (diff) | |
parent | 8418e31fc35d150bcac4fa646db11cdb5e8fc4bd (diff) | |
download | mariadb-git-7031cea4718b488eaec31c0f552c49096997663c.tar.gz |
Merge mysql.com:/space/my/mysql-4.1-build
into mysql.com:/space/my/mysql-5.0
support-files/mysql.server.sh:
Auto merged
Diffstat (limited to 'support-files')
-rw-r--r-- | support-files/mysql.server.sh | 61 |
1 files changed, 44 insertions, 17 deletions
diff --git a/support-files/mysql.server.sh b/support-files/mysql.server.sh index 892de3001d1..b361bac74d2 100644 --- a/support-files/mysql.server.sh +++ b/support-files/mysql.server.sh @@ -57,6 +57,17 @@ else bindir="$basedir/bin" fi +# +# Use LSB init script functions for printing messages, if possible +# +lsb_functions="/lib/lsb/init-functions" +if test -f $lsb_functions ; then + source $lsb_functions +else + alias log_success_msg="echo \ SUCCESS! " + alias log_failure_msg="echo \ ERROR! " +fi + PATH=/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin export PATH @@ -78,6 +89,20 @@ parse_arguments() { done } +wait_for_pid () { + for((i=0; i<35; i++)); do + sleep 1 + test -s $pid_file && i='' && break + echo $echo_n ".$echo_c" + done + + if test -z "$i" ; then + log_success_msg + else + log_failure_msg + fi +} + # Get arguments from the my.cnf file, # groups [mysqld] [mysql_server] and [mysql.server] if test -x ./bin/my_print_defaults @@ -154,14 +179,17 @@ case "$mode" in then # Give extra arguments to mysqld with the my.cnf file. This script may # be overwritten at next upgrade. + echo $echo_n "Starting MySQL" $bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file >/dev/null 2>&1 & + wait_for_pid + # Make lock for RedHat / SuSE if test -w /var/lock/subsys then touch /var/lock/subsys/mysql fi else - echo "Can't execute $bindir/mysqld_safe from dir $basedir" + log_failure_msg "Can't execute $bindir/mysqld_safe" fi ;; @@ -171,29 +199,18 @@ case "$mode" in if test -s "$pid_file" then mysqld_pid=`cat $pid_file` - echo "Killing mysqld with pid $mysqld_pid" + echo $echo_n "Shutting down MySQL" kill $mysqld_pid # mysqld should remove the pid_file when it exits, so wait for it. + wait_for_pid - sleep 1 - while [ -s $pid_file -a "$flags" != aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ] - do - [ -z "$flags" ] && echo $echo_n "Wait for mysqld to exit$echo_c" || echo $echo_n ".$echo_c" - flags=a$flags - sleep 1 - done - if [ -s $pid_file ] - then echo " gave up waiting!" - elif [ -n "$flags" ] - then echo " done" - fi # delete lock for RedHat / SuSE if test -f /var/lock/subsys/mysql then rm -f /var/lock/subsys/mysql fi else - echo "No mysqld pid file found. Looked for $pid_file." + log_failure_msg "MySQL PID file could not be found!" fi ;; @@ -202,11 +219,21 @@ case "$mode" in # running or not, start it again. $0 stop $0 start - ;; + ;; + + 'reload') + if test -s "$pid_file" ; then + mysqld_pid=`cat $pid_file` + kill -HUP $mysqld_pid && log_success_msg "Reloading service MySQL" + touch $pid_file + else + log_failure_msg "MySQL PID file could not be found!" + fi + ;; *) # usage - echo "Usage: $0 start|stop|restart" + echo "Usage: $0 start|stop|restart|reload" exit 1 ;; esac |