]> git.pld-linux.org Git - packages/mysql.git/blobdiff - mysql.init
- fix mysql 4.1.1 migration trigger where one has leading space in cluster definition
[packages/mysql.git] / mysql.init
index 7ac2e102d0c2d198ec1922cd99ca1652a3734af9..598d8fa2bc4b763ebbdc8898e0d445c30b14c1ed 100644 (file)
@@ -215,18 +215,14 @@ mysqlstop() {
        msg_stopping "MySQL $clusterdir"
        busy
 
-# TODO
-#  graceful mysql shutdown with mysqladmin shutdown requires 'shutdown'
-#  privilege. create new user mysqlctl or rename mysql_logrotate to mysqlctl
-#  and give it both privs (flush-logs and shutdown)?
-
        # try graceful shutdown -- send shutdown command
+       # requires mysql_logrotate user proper privs
        /usr/bin/mysqladmin --defaults-file=$MYSQL_CONFIG ${MYSQL_SOCKET:+--socket=$MYSQL_SOCKET} shutdown >/dev/null 2>&1
        mysqlstatus "$clusterdir"
 
        [ "$MYSQL_PID" != "unknown" ] && kill -TERM "$MYSQL_PID" 2> /dev/null
-       # 3 seconds
-       for nr in 1 2 3; do
+       # 15 seconds
+       for nr in $(seq 1 15); do
                [ -d "/proc/$MYSQL_PID" ] && sleep 1
        done
        mysqlstatus "$clusterdir"
@@ -737,7 +733,10 @@ case "$action" in
   flush-logs)
        for mysqldir in $DB_CLUSTERS; do
            mysqlgetconfig "$mysqldir"
-           /usr/bin/mysqladmin --defaults-file="$MYSQL_CONFIG" --socket="$MYSQL_SOCKET" flush-logs
+               # just if mysqld is really running
+               if /usr/bin/mysqladmin --defaults-file="$MYSQL_CONFIG" --socket="$MYSQL_SOCKET" ping >/dev/null 2>&1; then
+                       /usr/bin/mysqladmin --defaults-file="$MYSQL_CONFIG" --socket="$MYSQL_SOCKET" flush-logs
+               fi
        done
        ;;
   *)
This page took 0.096163 seconds and 4 git commands to generate.