mkdir -p './letsencrypt/renewal-hooks/pre'
mkdir -p './libpaper.d'
mkdir -p './mono/certstore'
+mkdir -p './mysql/mariadb.conf.d'
mkdir -p './netplan'
mkdir -p './network/interfaces.d'
mkdir -p './openvpn/client'
maybe chmod 0664 'default/keyboard.pre-ubiquity'
maybe chmod 0664 'default/locale'
maybe chmod 0644 'default/motd-news'
+maybe chmod 0644 'default/mysql'
maybe chmod 0644 'default/networking'
maybe chmod 0644 'default/nfs-common'
maybe chmod 0644 'default/nss'
maybe chmod 0755 'logcheck'
maybe chmod 0755 'logcheck/ignore.d.paranoid'
maybe chmod 0644 'logcheck/ignore.d.paranoid/cracklib-runtime'
+maybe chmod 0644 'logcheck/ignore.d.paranoid/mariadb-server-10_3'
maybe chmod 0644 'logcheck/ignore.d.paranoid/mysql-server-5_5'
maybe chmod 0644 'logcheck/ignore.d.paranoid/mysql-server-5_7'
maybe chmod 0755 'logcheck/ignore.d.server'
maybe chmod 0644 'logcheck/ignore.d.server/hddtemp'
maybe chmod 0644 'logcheck/ignore.d.server/iodined'
maybe chmod 0644 'logcheck/ignore.d.server/libsasl2-modules'
+maybe chmod 0644 'logcheck/ignore.d.server/mariadb-server-10_3'
maybe chmod 0644 'logcheck/ignore.d.server/mysql-server-5_5'
maybe chmod 0644 'logcheck/ignore.d.server/mysql-server-5_7'
maybe chmod 0644 'logcheck/ignore.d.server/ntpdate'
maybe chmod 0755 'logcheck/ignore.d.workstation'
maybe chmod 0644 'logcheck/ignore.d.workstation/autossh'
maybe chmod 0644 'logcheck/ignore.d.workstation/fetchmail'
+maybe chmod 0644 'logcheck/ignore.d.workstation/mariadb-server-10_3'
maybe chmod 0644 'logcheck/ignore.d.workstation/mysql-server-5_5'
maybe chmod 0644 'logcheck/ignore.d.workstation/mysql-server-5_7'
maybe chmod 0644 'login.defs'
maybe chmod 0644 'mysql/conf.d/mysqldump.cnf'
maybe chmod 0755 'mysql/debian-start'
maybe chmod 0600 'mysql/debian.cnf'
+maybe chmod 0644 'mysql/mariadb.cnf'
+maybe chmod 0755 'mysql/mariadb.conf.d'
maybe chmod 0644 'mysql/my.cnf.bak'
maybe chmod 0644 'mysql/my.cnf.fallback'
maybe chmod 0644 'mysql/my.cnf.migrated'
maybe chmod 0755 'systemd/system/getty.target.wants'
maybe chmod 0755 'systemd/system/graphical.target.wants'
maybe chmod 0644 'systemd/system/hddtemp.service'
+maybe chmod 0755 'systemd/system/mariadb.service.d'
+maybe chmod 0644 'systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf'
maybe chmod 0755 'systemd/system/multi-user.target.wants'
maybe chmod 0755 'systemd/system/network-online.target.wants'
maybe chmod 0755 'systemd/system/network-pre.target.wants'
-# vim:syntax=apparmor
-# Last Modified: Tue Feb 09 15:28:30 2016
-#include <tunables/global>
-
-/usr/sbin/mysqld {
- #include <abstractions/base>
- #include <abstractions/nameservice>
- #include <abstractions/user-tmp>
- #include <abstractions/mysql>
- #include <abstractions/winbind>
-
-# Allow system resource access
- /sys/devices/system/cpu/ r,
- capability sys_resource,
- capability dac_override,
- capability setuid,
- capability setgid,
-
-# Allow network access
- network tcp,
-
- /etc/hosts.allow r,
- /etc/hosts.deny r,
-
-# Allow config access
- /etc/mysql/** r,
-
-# Allow pid, socket, socket lock file access
- /var/run/mysqld/mysqld.pid rw,
- /var/run/mysqld/mysqld.sock rw,
- /var/run/mysqld/mysqld.sock.lock rw,
- /run/mysqld/mysqld.pid rw,
- /run/mysqld/mysqld.sock rw,
- /run/mysqld/mysqld.sock.lock rw,
-
-# Allow execution of server binary
- /usr/sbin/mysqld mr,
- /usr/sbin/mysqld-debug mr,
-
-# Allow plugin access
- /usr/lib/mysql/plugin/ r,
- /usr/lib/mysql/plugin/*.so* mr,
-
-# Allow error msg and charset access
- /usr/share/mysql/ r,
- /usr/share/mysql/** r,
-
-# Allow data dir access
- /var/lib/mysql/ r,
- /var/lib/mysql/** rwk,
-
-# Allow data files dir access
- /var/lib/mysql-files/ r,
- /var/lib/mysql-files/** rwk,
-
-# Allow keyring dir access
- /var/lib/mysql-keyring/ r,
- /var/lib/mysql-keyring/** rwk,
-
-# Allow log file access
- /var/log/mysql.err rw,
- /var/log/mysql.log rw,
- /var/log/mysql/ r,
- /var/log/mysql/** rw,
-
- # Site-specific additions and overrides. See local/README for details.
- #include <local/usr.sbin.mysqld>
-}
+# This file is intentionally empty to disable apparmor by default for newer
+# versions of MariaDB, while providing seamless upgrade from older versions
+# and from mysql, where apparmor is used.
+#
+# By default, we do not want to have any apparmor profile for the MariaDB
+# server. It does not provide much useful functionality/security, and causes
+# several problems for users who often are not even aware that apparmor
+# exists and runs on their system.
+#
+# Users can modify and maintain their own profile, and in this case it will
+# be used.
+#
+# When upgrading from previous version, users who modified the profile
+# will be prompted to keep or discard it, while for default installs
+# we will automatically disable the profile.
--- /dev/null
+#
+# NOTE: This file is read only by the traditional SysV init script.
+# Debian 9 and Ubuntu 17.04 onwards do not normally read this file as they use
+# systemd by default.
+#
+# For similar behaviour, systemd users should override ExecStart by dropping
+# files into /etc/systemd/system/mariadb.service.d/
+#
+# See also:
+# https://wiki.debian.org/Teams/pkg-systemd/Packaging#overriding_options_and_.2Fetc.2Fdefault_handling
+# https://mariadb.com/kb/en/mariadb/systemd/
+#
+# Note also that MariaDB systemd does _not_ utilize mysqld_safe nor debian-start.
+
+
+# The delay in seconds the init script waits for the server to be up and running after having started "mysqld_safe" to run the "/etc/mysql/debian-start" script.
+# If the server is still not responding after the delay, the script won't be executed and an error will be thrown on the syslog.
+# Default: 30
+#MYSQLD_STARTUP_TIMEOUT=30
+
+# The email recipient(s) of the output of the check for crashed and improperly closed MyISAM and Aria tables done at each server start by the "/etc/mysql/debian-start" script.
+# Default: root
+#MYCHECK_RCPT="root"
# Provides: mysql
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
-# Should-Start: $network $time
-# Should-Stop: $network $time
+# Should-Start: $network $named $time
+# Should-Stop: $network $named $time
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop the mysql database server daemon
-# Description: Controls the main MySQL database server daemon "mysqld"
+# Description: Controls the main MariaDB database server daemon "mysqld"
# and its wrapper script "mysqld_safe".
### END INIT INFO
#
set -u
${DEBIAN_SCRIPT_DEBUG:+ set -v -x}
-test -x /usr/bin/mysqld_safe || exit 0
+test -x /usr/sbin/mysqld || exit 0
. /lib/lsb/init-functions
SELF=$(cd $(dirname $0); pwd -P)/$(basename $0)
-CONF=/etc/mysql/my.cnf
+
MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
-# priority can be overriden and "-s" adds output to stderr
+# priority can be overridden and "-s" adds output to stderr
ERR_LOGGER="logger -p daemon.err -t /etc/init.d/mysql -i"
+if [ -f /etc/default/mysql ]; then
+ . /etc/default/mysql
+fi
+
# Safeguard (relative paths, core dumps..)
cd /
umask 077
#
# Usage: void mysqld_get_param option
mysqld_get_param() {
- /usr/sbin/mysqld --print-defaults \
- | tr " " "\n" \
- | grep -- "--$1" \
- | tail -n 1 \
- | cut -d= -f2
+ /usr/sbin/mysqld --print-defaults \
+ | tr " " "\n" \
+ | grep -- "--$1" \
+ | tail -n 1 \
+ | cut -d= -f2
}
## Do some sanity checks before even trying to start mysqld.
#
# Usage: boolean mysqld_status [check_alive|check_dead] [warn|nowarn]
mysqld_status () {
- ping_output=`$MYADMIN ping 2>&1`; ping_alive=$(( ! $? ))
-
- ps_alive=0
- pidfile=`mysqld_get_param pid-file`
- if [ -f "$pidfile" ] && ps `cat $pidfile` >/dev/null 2>&1; then ps_alive=1; fi
-
- if [ "$1" = "check_alive" -a $ping_alive = 1 ] ||
- [ "$1" = "check_dead" -a $ping_alive = 0 -a $ps_alive = 0 ]; then
- return 0 # EXIT_SUCCESS
- else
- if [ "$2" = "warn" ]; then
- echo -e "$ps_alive processes alive and '$MYADMIN ping' resulted in\n$ping_output\n" | $ERR_LOGGER -p daemon.debug
- fi
- return 1 # EXIT_FAILURE
+ ping_output=`$MYADMIN ping 2>&1`; ping_alive=$(( ! $? ))
+
+ ps_alive=0
+ pidfile=`mysqld_get_param pid-file`
+ if [ -f "$pidfile" ] && ps `cat $pidfile` >/dev/null 2>&1; then ps_alive=1; fi
+
+ if [ "$1" = "check_alive" -a $ping_alive = 1 ] ||
+ [ "$1" = "check_dead" -a $ping_alive = 0 -a $ps_alive = 0 ]; then
+ return 0 # EXIT_SUCCESS
+ else
+ if [ "$2" = "warn" ]; then
+ echo -e "$ps_alive processes alive and '$MYADMIN ping' resulted in\n$ping_output\n" | $ERR_LOGGER -p daemon.debug
fi
+ return 1 # EXIT_FAILURE
+ fi
}
#
#
case "${1:-''}" in
+
'start')
- sanity_checks;
- # Start daemon
- log_daemon_msg "Starting MySQL database server" "mysqld"
- if mysqld_status check_alive nowarn; then
- log_progress_msg "already running"
- log_end_msg 0
- else
- # Could be removed during boot
- test -e /var/run/mysqld || install -m 755 -o mysql -g root -d /var/run/mysqld
-
- # Start MySQL!
- su - mysql -s /bin/sh -c "/usr/bin/mysqld_safe > /dev/null 2>&1 &"
-
- # 6s was reported in #352070 to be too few when using ndbcluster
- # 14s was reported in #736452 to be too few with large installs
- for i in $(seq 1 30); do
- sleep 1
- if mysqld_status check_alive nowarn ; then break; fi
- log_progress_msg "."
- done
- if mysqld_status check_alive warn; then
- log_end_msg 0
- # Now start mysqlcheck or whatever the admin wants.
- output=$(/etc/mysql/debian-start)
- [ -n "$output" ] && log_action_msg "$output"
- else
- log_end_msg 1
- log_failure_msg "Please take a look at the syslog"
- fi
- fi
- ;;
+ sanity_checks;
+ # Start daemon
+ log_daemon_msg "Starting MariaDB database server" "mysqld"
+ if mysqld_status check_alive nowarn; then
+ log_progress_msg "already running"
+ log_end_msg 0
+ else
+ # Could be removed during boot
+ test -e /var/run/mysqld || install -m 755 -o mysql -g root -d /var/run/mysqld
+
+ # Start MariaDB!
+ /usr/bin/mysqld_safe "${@:2}" 2>&1 >/dev/null | $ERR_LOGGER &
+
+ for i in $(seq 1 "${MYSQLD_STARTUP_TIMEOUT:-30}"); do
+ sleep 1
+ if mysqld_status check_alive nowarn ; then break; fi
+ log_progress_msg "."
+ done
+ if mysqld_status check_alive warn; then
+ log_end_msg 0
+ # Now start mysqlcheck or whatever the admin wants.
+ output=$(/etc/mysql/debian-start)
+ if [ -n "$output" ]; then
+ log_action_msg "$output"
+ fi
+ else
+ log_end_msg 1
+ log_failure_msg "Please take a look at the syslog"
+ fi
+ fi
+ ;;
'stop')
- # * As a passwordless mysqladmin (e.g. via ~/.my.cnf) must be possible
- # at least for cron, we can rely on it here, too. (although we have
- # to specify it explicit as e.g. sudo environments points to the normal
- # users home and not /root)
- log_daemon_msg "Stopping MySQL database server" "mysqld"
- if ! mysqld_status check_dead nowarn; then
- set +e
- shutdown_out=`$MYADMIN shutdown 2>&1`; r=$?
- set -e
- if [ "$r" -ne 0 ]; then
- log_end_msg 1
- [ "$VERBOSE" != "no" ] && log_failure_msg "Error: $shutdown_out"
- log_daemon_msg "Killing MySQL database server by signal" "mysqld"
- killall -15 mysqld
- server_down=
- for i in 1 2 3 4 5 6 7 8 9 10; do
- sleep 1
- if mysqld_status check_dead nowarn; then server_down=1; break; fi
- done
- if test -z "$server_down"; then killall -9 mysqld; fi
- fi
- fi
-
- if ! mysqld_status check_dead warn; then
- log_end_msg 1
- log_failure_msg "Please stop MySQL manually and read /usr/share/doc/mysql-server-5.7/README.Debian.gz!"
- exit -1
- else
- log_end_msg 0
- fi
- ;;
+ # * As a passwordless mysqladmin (e.g. via ~/.my.cnf) must be possible
+ # at least for cron, we can rely on it here, too. (although we have
+ # to specify it explicit as e.g. sudo environments points to the normal
+ # users home and not /root)
+ log_daemon_msg "Stopping MariaDB database server" "mysqld"
+ if ! mysqld_status check_dead nowarn; then
+ set +e
+ shutdown_out=`$MYADMIN shutdown 2>&1`; r=$?
+ set -e
+ if [ "$r" -ne 0 ]; then
+ log_end_msg 1
+ [ "$VERBOSE" != "no" ] && log_failure_msg "Error: $shutdown_out"
+ log_daemon_msg "Killing MariaDB database server by signal" "mysqld"
+ killall -15 mysqld
+ server_down=
+ for i in `seq 1 600`; do
+ sleep 1
+ if mysqld_status check_dead nowarn; then server_down=1; break; fi
+ done
+ if test -z "$server_down"; then killall -9 mysqld; fi
+ fi
+ fi
+
+ if ! mysqld_status check_dead warn; then
+ log_end_msg 1
+ log_failure_msg "Please stop MariaDB manually and read /usr/share/doc/mariadb-server-10.3/README.Debian.gz!"
+ exit -1
+ else
+ log_end_msg 0
+ fi
+ ;;
'restart')
- set +e; $SELF stop; set -e
- $SELF start
- ;;
+ set +e; $SELF stop; set -e
+ shift
+ $SELF start "${@}"
+ ;;
'reload'|'force-reload')
- log_daemon_msg "Reloading MySQL database server" "mysqld"
- $MYADMIN reload
- log_end_msg 0
- ;;
+ log_daemon_msg "Reloading MariaDB database server" "mysqld"
+ $MYADMIN reload
+ log_end_msg 0
+ ;;
'status')
- if mysqld_status check_alive nowarn; then
- log_action_msg "$($MYADMIN version)"
- else
- log_action_msg "MySQL is stopped."
- exit 3
- fi
- ;;
+ if mysqld_status check_alive nowarn; then
+ log_action_msg "$($MYADMIN version)"
+ else
+ log_action_msg "MariaDB is stopped."
+ exit 3
+ fi
+ ;;
*)
- echo "Usage: $SELF start|stop|restart|reload|force-reload|status"
- exit 1
- ;;
+ echo "Usage: $SELF start|stop|restart|reload|force-reload|status"
+ exit 1
+ ;;
esac
-
-# Some success paths end up returning non-zero so exit 0 explicitly. See
-# bug #739846.
-exit 0
--- /dev/null
+/etc/init.d/mysql\[[0-9]+\]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists\!$
+/etc/init.d/mysql\[[0-9]+\]: '/usr/bin/mysqladmin --defaults-(extra-)?file=/etc/mysql/debian.cnf ping' resulted in$
+/etc/mysql/debian-start\[[0-9]+\]: Checking for crashed MySQL tables\.$
+mysqld\[[0-9]+\]: $
+mysqld\[[0-9]+\]: Version: .* socket: '/var/run/mysqld/mysqld.sock' port: 3306$
+mysqld\[[0-9]+\]: Warning: Ignoring user change to 'mysql' because the user was set to 'mysql' earlier on the command line$
+mysqld_safe\[[0-9]+\]: started$
+usermod\[[0-9]+\]: change user `mysql' GID from `([0-9]+)' to `\1'$
+usermod\[[0-9]+\]: change user `mysql' shell from `/bin/false' to `/bin/false'$
--- /dev/null
+/etc/init.d/mysql\[[0-9]+\]: [0-9]+ processes alive and '/usr/bin/mysqladmin --defaults-(extra-)?file=/etc/mysql/debian.cnf ping' resulted in$
+/etc/init.d/mysql\[[0-9]+\]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists\!$
+/etc/init.d/mysql\[[0-9]+\]: '/usr/bin/mysqladmin --defaults-(extra-)?file=/etc/mysql/debian.cnf ping' resulted in$
+/etc/mysql/debian-start\[[0-9]+\]: Checking for crashed MySQL tables\.$
+mysqld\[[0-9]+\]: ?$
+mysqld\[[0-9]+\]: .*InnoDB: Shutdown completed
+mysqld\[[0-9]+\]: .*InnoDB: Started;
+mysqld\[[0-9]+\]: .*InnoDB: Starting shutdown\.\.\.$
+mysqld\[[0-9]+\]: .*\[Note\] /usr/sbin/mysqld: Normal shutdown$
+mysqld\[[0-9]+\]: .*\[Note\] /usr/sbin/mysqld: ready for connections\.$
+mysqld\[[0-9]+\]: .*\[Note\] /usr/sbin/mysqld: Shutdown complete$
+mysqld\[[0-9]+\]: /usr/sbin/mysqld: ready for connections\.$
+mysqld\[[0-9]+\]: .*/usr/sbin/mysqld: Shutdown Complete$
+mysqld\[[0-9]+\]: Version: .* socket
+mysqld\[[0-9]+\]: Warning: Ignoring user change to 'mysql' because the user was set to 'mysql' earlier on the command line$
+mysqld_safe\[[0-9]+\]: ?$
+mysqld_safe\[[0-9]+\]: able to use the new GRANT command!$
+mysqld_safe\[[0-9]+\]: ended$
+mysqld_safe\[[0-9]+\]: http://www.mysql.com$
+mysqld_safe\[[0-9]+\]: NOTE: If you are upgrading from a MySQL <= 3.22.10 you should run$
+mysqld_safe\[[0-9]+\]: PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !$
+mysqld_safe\[[0-9]+\]: Please report any problems at http://mariadb.org/jira$
+mysqld_safe\[[0-9]+\]: See the manual for more instructions.$
+mysqld_safe\[[0-9]+\]: started$
+mysqld_safe\[[0-9]+\]: Support MySQL by buying support/licenses at https://order.mysql.com$
+mysqld_safe\[[0-9]+\]: The latest information about MySQL is available on the web at$
+mysqld_safe\[[0-9]+\]: the /usr/bin/mysql_fix_privilege_tables. Otherwise you will not be$
+mysqld_safe\[[0-9]+\]: To do so, start the server, then issue the following commands:$
+mysqld_safe\[[0-9]+\]: /usr/bin/mysqladmin -u root -h app109 password 'new-password'$
+mysqld_safe\[[0-9]+\]: /usr/bin/mysqladmin -u root password 'new-password'$
+usermod\[[0-9]+\]: change user `mysql' GID from `([0-9]+)' to `\1'$
+usermod\[[0-9]+\]: change user `mysql' shell from `/bin/false' to `/bin/false'$
--- /dev/null
+/etc/init.d/mysql\[[0-9]+\]: [0-9]+ processes alive and '/usr/bin/mysqladmin --defaults-(extra-)?file=/etc/mysql/debian.cnf ping' resulted in$
+/etc/init.d/mysql\[[0-9]+\]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists\!$
+/etc/init.d/mysql\[[0-9]+\]: '/usr/bin/mysqladmin --defaults-(extra-)?file=/etc/mysql/debian.cnf ping' resulted in$
+/etc/mysql/debian-start\[[0-9]+\]: Checking for crashed MySQL tables\.$
+mysqld\[[0-9]+\]: ?$
+mysqld\[[0-9]+\]: .*InnoDB: Shutdown completed
+mysqld\[[0-9]+\]: .*InnoDB: Started;
+mysqld\[[0-9]+\]: .*InnoDB: Starting shutdown\.\.\.$
+mysqld\[[0-9]+\]: .*\[Note\] /usr/sbin/mysqld: Normal shutdown$
+mysqld\[[0-9]+\]: .*\[Note\] /usr/sbin/mysqld: ready for connections\.$
+mysqld\[[0-9]+\]: .*\[Note\] /usr/sbin/mysqld: Shutdown complete$
+mysqld\[[0-9]+\]: /usr/sbin/mysqld: ready for connections\.$
+mysqld\[[0-9]+\]: .*/usr/sbin/mysqld: Shutdown Complete$
+mysqld\[[0-9]+\]: Version: .* socket
+mysqld\[[0-9]+\]: Warning: Ignoring user change to 'mysql' because the user was set to 'mysql' earlier on the command line$
+mysqld_safe\[[0-9]+\]: ?$
+mysqld_safe\[[0-9]+\]: able to use the new GRANT command!$
+mysqld_safe\[[0-9]+\]: ended$
+mysqld_safe\[[0-9]+\]: http://www.mysql.com$
+mysqld_safe\[[0-9]+\]: NOTE: If you are upgrading from a MySQL <= 3.22.10 you should run$
+mysqld_safe\[[0-9]+\]: PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !$
+mysqld_safe\[[0-9]+\]: Please report any problems at http://mariadb.org/jira$
+mysqld_safe\[[0-9]+\]: See the manual for more instructions.$
+mysqld_safe\[[0-9]+\]: started$
+mysqld_safe\[[0-9]+\]: Support MySQL by buying support/licenses at https://order.mysql.com$
+mysqld_safe\[[0-9]+\]: The latest information about MySQL is available on the web at$
+mysqld_safe\[[0-9]+\]: the /usr/bin/mysql_fix_privilege_tables. Otherwise you will not be$
+mysqld_safe\[[0-9]+\]: To do so, start the server, then issue the following commands:$
+mysqld_safe\[[0-9]+\]: /usr/bin/mysqladmin -u root -h app109 password 'new-password'$
+mysqld_safe\[[0-9]+\]: /usr/bin/mysqladmin -u root password 'new-password'$
+usermod\[[0-9]+\]: change user `mysql' GID from `([0-9]+)' to `\1'$
+usermod\[[0-9]+\]: change user `mysql' shell from `/bin/false' to `/bin/false'$
-# - I put everything in one block and added sharedscripts, so that mysql gets
+# - I put everything in one block and added sharedscripts, so that mysql gets
# flush-logs'd only once.
# Else the binary logs would automatically increase by n times every day.
# - The error log is obsolete, messages go to syslog now.
-/var/log/mysql.log /var/log/mysql/*log {
+/var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log /var/log/mysql/mariadb-slow.log /var/log/mysql/error.log {
daily
rotate 7
missingok
compress
sharedscripts
postrotate
- test -x /usr/bin/mysqladmin || exit 0
- # If this fails, check debian.conf!
- MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
- if [ -z "`$MYADMIN ping 2>/dev/null`" ]; then
- # Really no mysqld or rather a missing debian-sys-maint user?
- # If this occurs and is not a error please report a bug.
- #if ps cax | grep -q mysqld; then
- if killall -q -s0 -umysql mysqld; then
- exit 1
- fi
- else
- $MYADMIN flush-logs
- fi
+ test -x /usr/bin/mysqladmin || exit 0
+ if [ -f `my_print_defaults --mysqld | grep -oP "pid-file=\K[^$]+"` ]; then
+ # If this fails, check debian.conf!
+ mysqladmin --defaults-file=/etc/mysql/debian.cnf --local flush-error-log \
+ flush-engine-log flush-general-log flush-slow-log
+ fi
endscript
}
[mysqld_safe]
+skip_log_error
syslog
#!/bin/bash
+#
+# This script is executed by "/etc/init.d/mysql" on every (re)start.
+#
+# Changes to this file will be preserved when updating the Debian package.
+#
+# NOTE: This file is read only by the traditional SysV init script, not systemd.
+#
+
+source /usr/share/mysql/debian-start.inc.sh
+
+if [ -f /etc/default/mysql ]; then
+ . /etc/default/mysql
+fi
+
+MYSQL="/usr/bin/mysql --defaults-file=/etc/mysql/debian.cnf"
+MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
+MYUPGRADE="/usr/bin/mysql_upgrade --defaults-extra-file=/etc/mysql/debian.cnf --version-check"
+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 &
-# Change to no-op as detailed in
-# https://bugs.launchpad.net/ubuntu/+source/mysql-5.7/+bug/1577712
exit 0
--- /dev/null
+# MariaDB-specific config file.
+# Read by /etc/mysql/my.cnf
+
+[client]
+# Default is Latin1, if you need UTF-8 set this (also in server section)
+#default-character-set = utf8
+
+[mysqld]
+#
+# * Character sets
+#
+# Default is Latin1, if you need UTF-8 set all this (also in client section)
+#
+#character-set-server = utf8
+#collation-server = utf8_general_ci
+#character_set_server = utf8
+#collation_server = utf8_general_ci
+# Import all .cnf files from configuration directory
+!includedir /etc/mysql/mariadb.conf.d/
+++ /dev/null
-../init.d/bind9
\ No newline at end of file
--- /dev/null
+../init.d/bind9
\ No newline at end of file
+++ /dev/null
-../init.d/sendsigs
\ No newline at end of file
+++ /dev/null
-../init.d/rsyslog
\ No newline at end of file
--- /dev/null
+../init.d/sendsigs
\ No newline at end of file
--- /dev/null
+../init.d/rsyslog
\ No newline at end of file
+++ /dev/null
-../init.d/umountnfs.sh
\ No newline at end of file
+++ /dev/null
-../init.d/nfs-common
\ No newline at end of file
+++ /dev/null
-../init.d/rpcbind
\ No newline at end of file
--- /dev/null
+../init.d/umountnfs.sh
\ No newline at end of file
+++ /dev/null
-../init.d/hwclock.sh
\ No newline at end of file
+++ /dev/null
-../init.d/networking
\ No newline at end of file
--- /dev/null
+../init.d/nfs-common
\ No newline at end of file
--- /dev/null
+../init.d/rpcbind
\ No newline at end of file
--- /dev/null
+../init.d/hwclock.sh
\ No newline at end of file
--- /dev/null
+../init.d/networking
\ No newline at end of file
+++ /dev/null
-../init.d/umountfs
\ No newline at end of file
--- /dev/null
+../init.d/umountfs
\ No newline at end of file
+++ /dev/null
-../init.d/umountroot
\ No newline at end of file
+++ /dev/null
-../init.d/casper
\ No newline at end of file
--- /dev/null
+../init.d/umountroot
\ No newline at end of file
--- /dev/null
+../init.d/casper
\ No newline at end of file
+++ /dev/null
-../init.d/halt
\ No newline at end of file
--- /dev/null
+../init.d/halt
\ No newline at end of file
+++ /dev/null
-../init.d/bind9
\ No newline at end of file
--- /dev/null
+../init.d/bind9
\ No newline at end of file
+++ /dev/null
-../init.d/rsyslog
\ No newline at end of file
--- /dev/null
+../init.d/rsyslog
\ No newline at end of file
+++ /dev/null
-../init.d/nfs-common
\ No newline at end of file
+++ /dev/null
-../init.d/rpcbind
\ No newline at end of file
--- /dev/null
+../init.d/nfs-common
\ No newline at end of file
--- /dev/null
+../init.d/rpcbind
\ No newline at end of file
+++ /dev/null
-../init.d/bind9
\ No newline at end of file
--- /dev/null
+../init.d/bind9
\ No newline at end of file
+++ /dev/null
-../init.d/bind9
\ No newline at end of file
--- /dev/null
+../init.d/bind9
\ No newline at end of file
+++ /dev/null
-../init.d/bind9
\ No newline at end of file
--- /dev/null
+../init.d/bind9
\ No newline at end of file
+++ /dev/null
-../init.d/bind9
\ No newline at end of file
--- /dev/null
+../init.d/bind9
\ No newline at end of file
+++ /dev/null
-../init.d/bind9
\ No newline at end of file
--- /dev/null
+../init.d/bind9
\ No newline at end of file
+++ /dev/null
-../init.d/sendsigs
\ No newline at end of file
+++ /dev/null
-../init.d/rsyslog
\ No newline at end of file
--- /dev/null
+../init.d/sendsigs
\ No newline at end of file
--- /dev/null
+../init.d/rsyslog
\ No newline at end of file
+++ /dev/null
-../init.d/umountnfs.sh
\ No newline at end of file
+++ /dev/null
-../init.d/nfs-common
\ No newline at end of file
+++ /dev/null
-../init.d/rpcbind
\ No newline at end of file
--- /dev/null
+../init.d/umountnfs.sh
\ No newline at end of file
+++ /dev/null
-../init.d/hwclock.sh
\ No newline at end of file
+++ /dev/null
-../init.d/networking
\ No newline at end of file
--- /dev/null
+../init.d/nfs-common
\ No newline at end of file
--- /dev/null
+../init.d/rpcbind
\ No newline at end of file
--- /dev/null
+../init.d/hwclock.sh
\ No newline at end of file
--- /dev/null
+../init.d/networking
\ No newline at end of file
+++ /dev/null
-../init.d/umountfs
\ No newline at end of file
--- /dev/null
+../init.d/umountfs
\ No newline at end of file
+++ /dev/null
-../init.d/umountroot
\ No newline at end of file
+++ /dev/null
-../init.d/casper
\ No newline at end of file
--- /dev/null
+../init.d/umountroot
\ No newline at end of file
--- /dev/null
+../init.d/casper
\ No newline at end of file
+++ /dev/null
-../init.d/reboot
\ No newline at end of file
--- /dev/null
+../init.d/reboot
\ No newline at end of file
--- /dev/null
+# converted using /usr/bin/mariadb-service-convert
+#
+
+[Service]
+
+User=mysql
+StandardOutput=syslog
+StandardError=syslog
+SyslogFacility=daemon
+SyslogLevel=err
+SyslogIdentifier=mysqld
--- /dev/null
+/lib/systemd/system/mariadb.service
\ No newline at end of file
--- /dev/null
+/lib/systemd/system/mariadb.service
\ No newline at end of file
--- /dev/null
+/lib/systemd/system/mariadb.service
\ No newline at end of file