diff options
Diffstat (limited to 'debian/additions/debian-start')
-rwxr-xr-x | debian/additions/debian-start | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/debian/additions/debian-start b/debian/additions/debian-start new file mode 100755 index 00000000..d85e4a12 --- /dev/null +++ b/debian/additions/debian-start @@ -0,0 +1,50 @@ +#!/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. +# + +# shellcheck source=debian/additions/debian-start.inc.sh +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 + # shellcheck source=/dev/null + . /etc/default/mysql +fi + +if [ -f /etc/default/mariadb ] +then + # shellcheck source=/dev/null + . /etc/default/mariadb +fi + +MARIADB="/usr/bin/mariadb --defaults-file=/etc/mysql/debian.cnf" +MYADMIN="/usr/bin/mariadb-admin --defaults-file=/etc/mysql/debian.cnf" +# Don't run full mariadb-upgrade on every server restart, use --version-check to do it only once +MYUPGRADE="/usr/bin/mariadb-upgrade --defaults-extra-file=/etc/mysql/debian.cnf --version-check --silent" +MYCHECK_SUBJECT="WARNING: mariadb-check has found corrupt tables" +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 |