diff options
author | Daniel Black <daniel@mariadb.org> | 2022-12-15 10:32:58 +1100 |
---|---|---|
committer | Daniel Black <daniel@mariadb.org> | 2022-12-15 10:32:58 +1100 |
commit | 802e26c3478e8e39aeacbb95edcd8f90973a6303 (patch) | |
tree | 9942becedb79dbee9ee55a95970d746866841183 | |
parent | c1fd082e9c7369f4511eb5a52e58cb15489caa74 (diff) | |
parent | fc9d350ab7beff384926d9975dee9ab52b4cfe94 (diff) | |
download | mariadb-git-802e26c3478e8e39aeacbb95edcd8f90973a6303.tar.gz |
Merge branch '10.10' into 10.11
-rwxr-xr-x | debian/additions/debian-start | 12 | ||||
-rwxr-xr-x | debian/additions/debian-start.inc.sh | 28 | ||||
-rw-r--r-- | debian/mariadb-server.postinst | 6 | ||||
-rw-r--r-- | mysql-test/README | 2 | ||||
-rw-r--r-- | mysql-test/suite/encryption/r/innodb-redo-nokeys.result | 2 | ||||
-rw-r--r-- | mysql-test/suite/encryption/t/innodb-redo-nokeys.test | 2 | ||||
-rw-r--r-- | scripts/mysql_install_db.sh | 18 | ||||
-rw-r--r-- | support-files/rpm/server-postin.sh | 2 |
8 files changed, 38 insertions, 34 deletions
diff --git a/debian/additions/debian-start b/debian/additions/debian-start index 986fa80fd57..2a8b61ddaff 100755 --- a/debian/additions/debian-start +++ b/debian/additions/debian-start @@ -17,12 +17,12 @@ 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" +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="/usr/bin/mariadb-check --defaults-file=/etc/mysql/debian.cnf" +MYCHECK_SUBJECT="WARNING: mariadb-check has found corrupt tables" MYCHECK_PARAMS="--all-databases --fast --silent" MYCHECK_RCPT="${MYCHECK_RCPT:-root}" diff --git a/debian/additions/debian-start.inc.sh b/debian/additions/debian-start.inc.sh index 005aa290866..8a59f877aca 100755 --- a/debian/additions/debian-start.inc.sh +++ b/debian/additions/debian-start.inc.sh @@ -11,7 +11,7 @@ function check_for_crashed_tables() { set -u # 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. # Some table handlers like HEAP do not support CHECK TABLE. @@ -20,15 +20,15 @@ function check_for_crashed_tables() { # We have to use xargs in this case, because a for loop barfs on the # 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 - 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 `'\'', TABLE_SCHEMA, '\''`.`'\'', TABLE_NAME, '\''`'\'') 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 \ - --force -e "{}" &>$tempfile + xargs -i "${MARIADB}" --skip-column-names --silent --batch \ + --force -e "{}" &>"${tempfile}" set -e if [ -s "$tempfile" ]; then @@ -37,14 +37,14 @@ function check_for_crashed_tables() { "Improperly closed tables are also reported if clients are accessing\n" \ "the tables *now*. A list of current connections is below.\n"; $MYADMIN processlist status - ) >> $tempfile + ) >> "${tempfile}" # Check for presence as a dependency on mailx would require an MTA. if [ -x /usr/bin/mailx ]; then - mailx -e -s"$MYCHECK_SUBJECT" $MYCHECK_RCPT < $tempfile + mailx -e -s"$MYCHECK_SUBJECT" $MYCHECK_RCPT < "$tempfile" 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 - rm $tempfile + rm "${tempfile}" } ## Check for tables needing an upgrade. @@ -54,14 +54,14 @@ function upgrade_system_tables_if_necessary() { set -e 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" # errors as the script is designed to be idempotent. LC_ALL=C $MYUPGRADE \ 2>&1 \ | 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. @@ -70,10 +70,10 @@ function check_root_accounts() { set -e 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 - 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 } diff --git a/debian/mariadb-server.postinst b/debian/mariadb-server.postinst index 2e89e983d95..dff7dc2d532 100644 --- a/debian/mariadb-server.postinst +++ b/debian/mariadb-server.postinst @@ -17,7 +17,7 @@ set -o pipefail case "$1" in 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. # 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. @@ -162,12 +162,12 @@ EOF # initiate databases. Output is not allowed by debconf :-( # 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. # Debian: beware of the bashisms... # Debian: can safely run on upgrades with existing databases 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 | \ $ERR_LOGGER set -e diff --git a/mysql-test/README b/mysql-test/README index 14e9b3647ac..ae1d6d56433 100644 --- a/mysql-test/README +++ b/mysql-test/README @@ -90,7 +90,7 @@ https://mariadb.org/jira/. 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, 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. The latest information about mysql-test-run can be found at: diff --git a/mysql-test/suite/encryption/r/innodb-redo-nokeys.result b/mysql-test/suite/encryption/r/innodb-redo-nokeys.result index 026a7cd3f42..9f9cc852898 100644 --- a/mysql-test/suite/encryption/r/innodb-redo-nokeys.result +++ b/mysql-test/suite/encryption/r/innodb-redo-nokeys.result @@ -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: Failed to read page .* from file '.*'"); 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"); # restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys2.txt SET GLOBAL innodb_file_per_table = ON; diff --git a/mysql-test/suite/encryption/t/innodb-redo-nokeys.test b/mysql-test/suite/encryption/t/innodb-redo-nokeys.test index d3088204b96..0aaed201d43 100644 --- a/mysql-test/suite/encryption/t/innodb-redo-nokeys.test +++ b/mysql-test/suite/encryption/t/innodb-redo-nokeys.test @@ -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: Failed to read page .* from file '.*'"); 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"); -- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt diff --git a/scripts/mysql_install_db.sh b/scripts/mysql_install_db.sh index face88c7e29..6d1471f2543 100644 --- a/scripts/mysql_install_db.sh +++ b/scripts/mysql_install_db.sh @@ -612,17 +612,17 @@ else echo echo " shell> $0 --defaults-file=~/.my.cnf" 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 " shell> $mysqld --skip-grant-tables --general-log &" echo echo "and use the command line tool $bindir/mariadb" echo "to connect to the mysql database and look at the grant tables:" echo - echo " shell> $bindir/mysql -u root mysql" - echo " mysql> show tables;" + echo " shell> $bindir/mariadb -u root mysql" + echo " MariaDB> show tables;" 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." link_to_help echo "You can find the latest source at https://downloads.mariadb.org and" @@ -640,8 +640,8 @@ fi if test "$cross_bootstrap" -eq 0 && test -z "$srcdir" then s_echo - s_echo "To start mysqld at boot time you have to copy" - s_echo "support-files/mysql.server to the right place for your system" + s_echo "To start mariadbd at boot time you have to copy" + s_echo "support-files/mariadb.service to the right place for your system" if test "$auth_root_authentication_method" = normal then @@ -650,7 +650,7 @@ then 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 - echo "'$bindir/mysql_secure_installation'" + echo "'$bindir/mariadb-secure-installation'" echo echo "which will also give you the option of removing the test" echo "databases and anonymous user created by default. This is" @@ -674,10 +674,10 @@ then then echo 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 "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 echo diff --git a/support-files/rpm/server-postin.sh b/support-files/rpm/server-postin.sh index 61c417e3e7d..8a017560623 100644 --- a/support-files/rpm/server-postin.sh +++ b/support-files/rpm/server-postin.sh @@ -58,7 +58,7 @@ if [ $1 = 1 ] ; then mkdir -p $datadir # Initiate databases - %{_bindir}/mysql_install_db --rpm --user=%{mysqld_user} + %{_bindir}/mariadb-install-db --rpm --user=%{mysqld_user} fi # Change permissions again to fix any new files. |