mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 04:46:15 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/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/mariadb/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-extra-file=/etc/mysql/debian.cnf"
 | 
						|
MYADMIN="/usr/bin/mariadb-admin --defaults-extra-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
 |