Description:
A kill -15 or kill -9 to mysqld_safe is currently ignored. But it would be so simple to
enable it as Erich Schubert <erich@debian.org> just proved me. Just change the traps
to:
trap '/usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf refresh' 1 # HUP
...
and add "& wait" to the daemon line.
Of course the exact file locations vary. Here debian.cnf contains the name and password
for a special user that has the shutdown right.
See: http://bugs.debian.org/208364How to repeat:
-
Suggested fix:
#
+# From now on, we catch signals to do a proper shutdown of mysqld
+# when signalled to do so.
+#
+trap '/usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf refresh' 1 # HUP
+trap '/usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf shutdown' 2 3 15 # INT QUIT and TERM
+
+#
# Uncomment the following lines if you want all tables to be automatically
# checked and repaired during startup. You should add sensible key_buffer
# and sort_buffer values to my.cnf to improve check performance or require
@@ -299,9 +304,9 @@
rm -f $safe_mysql_unix_port $pid_file # Some extra safety
if test -z "$args"
then
- $NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-locking 2>&1 | $ERR_LOGGER -t mysqld
+ $NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-locking 2>&1 | $ERR_LOGGER -t mysqld & wait
else
- eval "$NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-locking $args 2>&1 | $ERR_LOGGER -t mysqld"
+ eval "$NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-locking $args 2>&1 | $ERR_LOGGER -t mysqld & wait"
fi
if test ! -f $pid_file # This is removed if normal shutdown
then
Page generated in 0.038 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders. It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.