Commit fc9d350a authored by Daniel Black's avatar Daniel Black

Merge branch '10.9' into 10.10

parents fa389b90 069eb169
...@@ -17,12 +17,12 @@ if [ -f /etc/default/mariadb ]; then ...@@ -17,12 +17,12 @@ if [ -f /etc/default/mariadb ]; then
. /etc/default/mariadb . /etc/default/mariadb
fi fi
MYSQL="/usr/bin/mysql --defaults-file=/etc/mysql/debian.cnf" MARIADB="/usr/bin/mariadb --defaults-file=/etc/mysql/debian.cnf"
MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf" MYADMIN="/usr/bin/mariadb-admin --defaults-file=/etc/mysql/debian.cnf"
# Don't run full mysql_upgrade on every server restart, use --version-check to do it only once # Don't run full mariadb-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" MYUPGRADE="/usr/bin/mariadb-upgrade --defaults-extra-file=/etc/mysql/debian.cnf --version-check --silent"
MYCHECK="/usr/bin/mysqlcheck --defaults-file=/etc/mysql/debian.cnf" MYCHECK="/usr/bin/mariadb-check --defaults-file=/etc/mysql/debian.cnf"
MYCHECK_SUBJECT="WARNING: mysqlcheck has found corrupt tables" MYCHECK_SUBJECT="WARNING: mariadb-check has found corrupt tables"
MYCHECK_PARAMS="--all-databases --fast --silent" MYCHECK_PARAMS="--all-databases --fast --silent"
MYCHECK_RCPT="${MYCHECK_RCPT:-root}" MYCHECK_RCPT="${MYCHECK_RCPT:-root}"
......
...@@ -11,7 +11,7 @@ function check_for_crashed_tables() { ...@@ -11,7 +11,7 @@ function check_for_crashed_tables() {
set -u set -u
# But do it in the background to not stall the boot process. # But do it in the background to not stall the boot process.
logger -p daemon.info -i -t$0 "Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables" logger -p daemon.info -i -t"$0" "Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables"
# Checking for $? is unreliable so the size of the output is checked. # Checking for $? is unreliable so the size of the output is checked.
# Some table handlers like HEAP do not support CHECK TABLE. # Some table handlers like HEAP do not support CHECK TABLE.
...@@ -20,15 +20,15 @@ function check_for_crashed_tables() { ...@@ -20,15 +20,15 @@ function check_for_crashed_tables() {
# We have to use xargs in this case, because a for loop barfs on the # We have to use xargs in this case, because a for loop barfs on the
# spaces in the thing to be looped over. # spaces in the thing to be looped over.
# If a crashed table is encountered, the "mysql" command will return with a status different from 0 # If a crashed table is encountered, the "mariadb" command will return with a status different from 0
set +e set +e
LC_ALL=C $MYSQL --skip-column-names --batch -e ' LC_ALL=C $MARIADB --skip-column-names --batch -e '
select concat('\''select count(*) into @discard from `'\'', select concat('\''select count(*) into @discard from `'\'',
TABLE_SCHEMA, '\''`.`'\'', TABLE_NAME, '\''`'\'') TABLE_SCHEMA, '\''`.`'\'', TABLE_NAME, '\''`'\'')
from information_schema.TABLES where TABLE_SCHEMA<>'\''INFORMATION_SCHEMA'\'' and TABLE_SCHEMA<>'\''PERFORMANCE_SCHEMA'\'' and ( ENGINE='\''MyISAM'\'' or ENGINE='\''Aria'\'' )' | \ from information_schema.TABLES where TABLE_SCHEMA<>'\''INFORMATION_SCHEMA'\'' and TABLE_SCHEMA<>'\''PERFORMANCE_SCHEMA'\'' and ( ENGINE='\''MyISAM'\'' or ENGINE='\''Aria'\'' )' | \
xargs -i $MYSQL --skip-column-names --silent --batch \ xargs -i "${MARIADB}" --skip-column-names --silent --batch \
--force -e "{}" &>$tempfile --force -e "{}" &>"${tempfile}"
set -e set -e
if [ -s "$tempfile" ]; then if [ -s "$tempfile" ]; then
...@@ -37,14 +37,14 @@ function check_for_crashed_tables() { ...@@ -37,14 +37,14 @@ function check_for_crashed_tables() {
"Improperly closed tables are also reported if clients are accessing\n" \ "Improperly closed tables are also reported if clients are accessing\n" \
"the tables *now*. A list of current connections is below.\n"; "the tables *now*. A list of current connections is below.\n";
$MYADMIN processlist status $MYADMIN processlist status
) >> $tempfile ) >> "${tempfile}"
# Check for presence as a dependency on mailx would require an MTA. # Check for presence as a dependency on mailx would require an MTA.
if [ -x /usr/bin/mailx ]; then if [ -x /usr/bin/mailx ]; then
mailx -e -s"$MYCHECK_SUBJECT" $MYCHECK_RCPT < $tempfile mailx -e -s"$MYCHECK_SUBJECT" $MYCHECK_RCPT < "$tempfile"
fi fi
(echo "$MYCHECK_SUBJECT"; cat $tempfile) | logger -p daemon.warn -i -t$0 (echo "$MYCHECK_SUBJECT"; cat "${tempfile}") | logger -p daemon.warn -i -t"$0"
fi fi
rm $tempfile rm "${tempfile}"
} }
## Check for tables needing an upgrade. ## Check for tables needing an upgrade.
...@@ -54,14 +54,14 @@ function upgrade_system_tables_if_necessary() { ...@@ -54,14 +54,14 @@ function upgrade_system_tables_if_necessary() {
set -e set -e
set -u set -u
logger -p daemon.info -i -t$0 "Upgrading MySQL tables if necessary." logger -p daemon.info -i -t"$0" "Upgrading MySQL tables if necessary."
# Filter all "duplicate column", "duplicate key" and "unknown column" # Filter all "duplicate column", "duplicate key" and "unknown column"
# errors as the script is designed to be idempotent. # errors as the script is designed to be idempotent.
LC_ALL=C $MYUPGRADE \ LC_ALL=C $MYUPGRADE \
2>&1 \ 2>&1 \
| egrep -v '^(1|@had|ERROR (1051|1054|1060|1061|1146|1347|1348))' \ | egrep -v '^(1|@had|ERROR (1051|1054|1060|1061|1146|1347|1348))' \
| logger -p daemon.warn -i -t$0 | logger -p daemon.warn -i -t"$0"
} }
## Check for the presence of both, root accounts with and without password. ## Check for the presence of both, root accounts with and without password.
...@@ -70,10 +70,10 @@ function check_root_accounts() { ...@@ -70,10 +70,10 @@ function check_root_accounts() {
set -e set -e
set -u set -u
logger -p daemon.info -i -t$0 "Checking for insecure root accounts." logger -p daemon.info -i -t"$0" "Checking for insecure root accounts."
ret=$( echo "SELECT count(*) FROM mysql.user WHERE user='root' and password='' and plugin in ('', 'mysql_native_password', 'mysql_old_password');" | $MYSQL --skip-column-names ) ret=$( echo "SELECT count(*) FROM mysql.user WHERE user='root' and password='' and plugin in ('', 'mysql_native_password', 'mysql_old_password');" | "$MARIADB" --skip-column-names )
if [ "$ret" -ne "0" ]; then if [ "$ret" -ne "0" ]; then
logger -p daemon.warn -i -t$0 "WARNING: mysql.user contains $ret root accounts without password!" logger -p daemon.warn -i -t"$0" "WARNING: mysql.user contains $ret root accounts without password!"
fi fi
} }
...@@ -17,7 +17,7 @@ set -o pipefail ...@@ -17,7 +17,7 @@ set -o pipefail
case "$1" in case "$1" in
configure) configure)
# This is needed because mysql_install_db removes the pid file in /run # This is needed because mariadb-install-db removes the pid file in /run
# and because changed configuration options should take effect immediately. # and because changed configuration options should take effect immediately.
# In case the server wasn't running at all it should be ok if the stop # In case the server wasn't running at all it should be ok if the stop
# script fails. I can't tell at this point because of the cleaned /run. # script fails. I can't tell at this point because of the cleaned /run.
...@@ -162,12 +162,12 @@ EOF ...@@ -162,12 +162,12 @@ EOF
# initiate databases. Output is not allowed by debconf :-( # initiate databases. Output is not allowed by debconf :-(
# This will fail if we are upgrading an existing database; in this case # This will fail if we are upgrading an existing database; in this case
# mysql_upgrade, called from the /etc/init.d/mariadb start script, will # mariadb-upgrade, called from the /etc/mysql/debian-start script, will
# handle things. # handle things.
# Debian: beware of the bashisms... # Debian: beware of the bashisms...
# Debian: can safely run on upgrades with existing databases # Debian: can safely run on upgrades with existing databases
set +e set +e
bash /usr/bin/mysql_install_db --rpm --cross-bootstrap --user=mysql \ bash /usr/bin/mariadb-install-db --rpm --cross-bootstrap --user=mysql \
--disable-log-bin --skip-test-db 2>&1 | \ --disable-log-bin --skip-test-db 2>&1 | \
$ERR_LOGGER $ERR_LOGGER
set -e set -e
......
...@@ -90,7 +90,7 @@ https://mariadb.org/jira/. ...@@ -90,7 +90,7 @@ https://mariadb.org/jira/.
If the test case is really big or if it contains 'not public' data, If the test case is really big or if it contains 'not public' data,
then put your .test file and .result file(s) into a tar.gz archive, then put your .test file and .result file(s) into a tar.gz archive,
add a README that explains the problem, ftp the archive to add a README that explains the problem, ftp the archive to
ftp://ftp.askmonty.org/private and submit a report to ftp://ftp.mariadb.org/private and submit a report to
https://mariadb.org/jira about it. https://mariadb.org/jira about it.
The latest information about mysql-test-run can be found at: The latest information about mysql-test-run can be found at:
......
...@@ -7,6 +7,8 @@ call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE faile ...@@ -7,6 +7,8 @@ call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE faile
call mtr.add_suppression("InnoDB: Cannot apply log to \\[page id: space=[1-9][0-9]*, page number=0\\] of corrupted file '.*test.t[1-5]\\.ibd'"); call mtr.add_suppression("InnoDB: Cannot apply log to \\[page id: space=[1-9][0-9]*, page number=0\\] of corrupted file '.*test.t[1-5]\\.ibd'");
call mtr.add_suppression("InnoDB: Failed to read page .* from file '.*'"); call mtr.add_suppression("InnoDB: Failed to read page .* from file '.*'");
call mtr.add_suppression("InnoDB: OPT_PAGE_CHECKSUM mismatch"); call mtr.add_suppression("InnoDB: OPT_PAGE_CHECKSUM mismatch");
call mtr.add_suppression("InnoDB: Missing FILE_CHECKPOINT");
call mtr.add_suppression("InnoDB: Log scan aborted at LSN");
call mtr.add_suppression("InnoDB: Set innodb_force_recovery=1 to ignore corruption"); call mtr.add_suppression("InnoDB: Set innodb_force_recovery=1 to ignore corruption");
# restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys2.txt # restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys2.txt
SET GLOBAL innodb_file_per_table = ON; SET GLOBAL innodb_file_per_table = ON;
......
...@@ -12,6 +12,8 @@ call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE faile ...@@ -12,6 +12,8 @@ call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE faile
call mtr.add_suppression("InnoDB: Cannot apply log to \\[page id: space=[1-9][0-9]*, page number=0\\] of corrupted file '.*test.t[1-5]\\.ibd'"); call mtr.add_suppression("InnoDB: Cannot apply log to \\[page id: space=[1-9][0-9]*, page number=0\\] of corrupted file '.*test.t[1-5]\\.ibd'");
call mtr.add_suppression("InnoDB: Failed to read page .* from file '.*'"); call mtr.add_suppression("InnoDB: Failed to read page .* from file '.*'");
call mtr.add_suppression("InnoDB: OPT_PAGE_CHECKSUM mismatch"); call mtr.add_suppression("InnoDB: OPT_PAGE_CHECKSUM mismatch");
call mtr.add_suppression("InnoDB: Missing FILE_CHECKPOINT");
call mtr.add_suppression("InnoDB: Log scan aborted at LSN");
call mtr.add_suppression("InnoDB: Set innodb_force_recovery=1 to ignore corruption"); call mtr.add_suppression("InnoDB: Set innodb_force_recovery=1 to ignore corruption");
-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt -- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
......
...@@ -612,17 +612,17 @@ else ...@@ -612,17 +612,17 @@ else
echo echo
echo " shell> $0 --defaults-file=~/.my.cnf" echo " shell> $0 --defaults-file=~/.my.cnf"
echo echo
echo "You can also try to start the mysqld daemon with:" echo "You can also try to start the mariadbd daemon with:"
echo echo
echo " shell> $mysqld --skip-grant-tables --general-log &" echo " shell> $mysqld --skip-grant-tables --general-log &"
echo echo
echo "and use the command line tool $bindir/mariadb" echo "and use the command line tool $bindir/mariadb"
echo "to connect to the mysql database and look at the grant tables:" echo "to connect to the mysql database and look at the grant tables:"
echo echo
echo " shell> $bindir/mysql -u root mysql" echo " shell> $bindir/mariadb -u root mysql"
echo " mysql> show tables;" echo " MariaDB> show tables;"
echo echo
echo "Try 'mysqld --help' if you have problems with paths. Using" echo "Try '$mysqld --help' if you have problems with paths. Using"
echo "--general-log gives you a log in $ldata that may be helpful." echo "--general-log gives you a log in $ldata that may be helpful."
link_to_help link_to_help
echo "You can find the latest source at https://downloads.mariadb.org and" echo "You can find the latest source at https://downloads.mariadb.org and"
...@@ -640,8 +640,8 @@ fi ...@@ -640,8 +640,8 @@ fi
if test "$cross_bootstrap" -eq 0 && test -z "$srcdir" if test "$cross_bootstrap" -eq 0 && test -z "$srcdir"
then then
s_echo s_echo
s_echo "To start mysqld at boot time you have to copy" s_echo "To start mariadbd at boot time you have to copy"
s_echo "support-files/mysql.server to the right place for your system" s_echo "support-files/mariadb.service to the right place for your system"
if test "$auth_root_authentication_method" = normal if test "$auth_root_authentication_method" = normal
then then
...@@ -650,7 +650,7 @@ then ...@@ -650,7 +650,7 @@ then
echo "PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !" echo "PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !"
echo "To do so, start the server, then issue the following command:" echo "To do so, start the server, then issue the following command:"
echo echo
echo "'$bindir/mysql_secure_installation'" echo "'$bindir/mariadb-secure-installation'"
echo echo
echo "which will also give you the option of removing the test" echo "which will also give you the option of removing the test"
echo "databases and anonymous user created by default. This is" echo "databases and anonymous user created by default. This is"
...@@ -674,10 +674,10 @@ then ...@@ -674,10 +674,10 @@ then
then then
echo echo
echo "You can start the MariaDB daemon with:" echo "You can start the MariaDB daemon with:"
echo "cd '$basedir' ; $bindir/mysqld_safe --datadir='$ldata'" echo "cd '$basedir' ; $bindir/mariadb-safe --datadir='$ldata'"
echo echo
echo "You can test the MariaDB daemon with mysql-test-run.pl" echo "You can test the MariaDB daemon with mysql-test-run.pl"
echo "cd '$basedir/mysql-test' ; perl mysql-test-run.pl" echo "cd '$basedir/@INSTALL_MYSQLTESTDIR@' ; perl mariadb-test-run.pl"
fi fi
echo echo
......
...@@ -58,7 +58,7 @@ if [ $1 = 1 ] ; then ...@@ -58,7 +58,7 @@ if [ $1 = 1 ] ; then
mkdir -p $datadir mkdir -p $datadir
# Initiate databases # Initiate databases
%{_bindir}/mysql_install_db --rpm --user=%{mysqld_user} %{_bindir}/mariadb-install-db --rpm --user=%{mysqld_user}
fi fi
# Change permissions again to fix any new files. # Change permissions again to fix any new files.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment