blob: be06efb01f250df5459f0ed364fcf188bbd88f03 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
Author: Christian Hammers <ch@debian.org>
Subject: Executes /etc/init.d/mysql on signals
Note if you check the bug report on mysql.com the patch is accepted
as interesting but they were waiting on Christian Hammers to sign an SCA.
Meanwhile this bug report fell off in the transition from 5.0 to 5.1.
Bug: http://bugs.mysql.com/bug.php?id=31361
Debian-Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=527623
Last-Update: 2012-03-07
Reviewed-by: Nicholas Bamber <nicholas@periapt.co.uk>
--- a/scripts/mysqld_safe.sh
+++ b/scripts/mysqld_safe.sh
@@ -29,8 +29,6 @@
syslog_tag_mysqld=mysqld
syslog_tag_mysqld_safe=mysqld_safe
-trap '' 1 2 3 15 # we shouldn't let anyone kill us
-
umask 007
defaults=
@@ -132,7 +130,7 @@
# sed buffers output (only GNU sed supports a -u (unbuffered) option)
# which means that messages may not get sent to syslog until the
# mysqld process quits.
- cmd="$cmd 2>&1 | logger -t '$syslog_tag_mysqld' -p daemon.error"
+ cmd="$cmd 2>&1 | logger -t '$syslog_tag_mysqld' -p daemon.error & wait"
;;
*)
echo "Internal program error (non-fatal):" \
@@ -711,6 +709,13 @@
fi
#
+# 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 & wait' 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
|