123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- description "MySQL 5.6 Server"
- author "Mario Limonciello <[email protected]>"
- start on runlevel [2345]
- stop on starting rc RUNLEVEL=[016]
- respawn
- respawn limit 2 5
- env HOME=/etc/mysql
- umask 007
- # The default of 5 seconds is too low for mysql which needs to flush buffers
- kill timeout 300
- pre-start script
- ## Fetch a particular option from mysql's invocation.
- # Usage: void mysqld_get_param option
- mysqld_get_param() {
- /usr/sbin/mysqld --print-defaults \
- | tr " " "\n" \
- | grep -- "--$1" \
- | tail -n 1 \
- | cut -d= -f2
- }
- # priority can be overriden and "-s" adds output to stderr
- ERR_LOGGER="logger -p daemon.err -t /etc/init/mysql.conf -i"
- #Sanity checks
- [ -r $HOME/my.cnf ]
- [ -d /var/run/mysqld ] || install -m 755 -o mysql -g root -d /var/run/mysqld
- /lib/init/apparmor-profile-load usr.sbin.mysqld
- # check for diskspace shortage
- # datadir=`mysqld_get_param datadir`
- # BLOCKSIZE=`LC_ALL=C df --portability $datadir/. | tail -n 1 | awk '{print $4}'`
- # if [ $BLOCKSIZE -le 4096 ] ; then
- # echo "$0: ERROR: The partition with $datadir is too full!" >&2
- # echo "ERROR: The partition with $datadir is too full!" | $ERR_LOGGER
- # exit 1
- # fi
- end script
- exec /usr/sbin/mysqld
- post-start script
- for i in `seq 1 30` ; do
- /usr/bin/mysqladmin --defaults-file="${HOME}"/debian.cnf ping && {
- exec "${HOME}"/debian-start
- # should not reach this line
- exit 2
- }
- statusnow=`status`
- if echo $statusnow | grep -q 'stop/' ; then
- exit 0
- elif echo $statusnow | grep -q 'respawn/' ; then
- exit 1
- fi
- sleep 1
- done
- exit 1
- end script
|