diff options
Diffstat (limited to 'debian/additions/debian-start')
-rwxr-xr-x | debian/additions/debian-start | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/debian/additions/debian-start b/debian/additions/debian-start new file mode 100755 index 00000000..986fa80f --- /dev/null +++ b/debian/additions/debian-start @@ -0,0 +1,47 @@ +#!/bin/bash +# +# This script is executed by both SysV init /etc/init.d/mariadb and +# systemd mariadb.service on every (re)start. +# +# Changes to this file will be preserved when updating the Debian package. +# + +source /usr/share/mysql/debian-start.inc.sh + +# Read default/mysql first and then default/mariadb just like the init.d file does +if [ -f /etc/default/mysql ]; then + . /etc/default/mysql +fi + +if [ -f /etc/default/mariadb ]; then + . /etc/default/mariadb +fi + +MYSQL="/usr/bin/mysql --defaults-file=/etc/mysql/debian.cnf" +MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf" +# Don't run full mysql_upgrade on every server restart, use --version-check to do it only once +MYUPGRADE="/usr/bin/mysql_upgrade --defaults-extra-file=/etc/mysql/debian.cnf --version-check --silent" +MYCHECK="/usr/bin/mysqlcheck --defaults-file=/etc/mysql/debian.cnf" +MYCHECK_SUBJECT="WARNING: mysqlcheck has found corrupt tables" +MYCHECK_PARAMS="--all-databases --fast --silent" +MYCHECK_RCPT="${MYCHECK_RCPT:-root}" + +## Checking for corrupt, not cleanly closed (only for MyISAM and Aria engines) and upgrade needing tables. + +# The following commands should be run when the server is up but in background +# where they do not block the server start and in one shell instance so that +# they run sequentially. They are supposed not to echo anything to stdout. +# If you want to disable the check for crashed tables comment +# "check_for_crashed_tables" out. +# (There may be no output to stdout inside the background process!) + +# Need to ignore SIGHUP, as otherwise a SIGHUP can sometimes abort the upgrade +# process in the middle. +trap "" SIGHUP +( + upgrade_system_tables_if_necessary; + check_root_accounts; + check_for_crashed_tables; +) >&2 & + +exit 0 |