Commit 2e81eab2 authored by Daniel Black's avatar Daniel Black

MDEV-27607: mysql_install_db to install mysql_upgrade_info

For compatibility this is under an extra option --upgrade-info

The goal here is to install a data directory with the required
info to let mysql_upgrade know that an upgrade isn't required.
parent 2cbf9252
......@@ -144,7 +144,7 @@ EOF
# 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 --disable-log-bin 2>&1 | $ERR_LOGGER
bash /usr/bin/mysql_install_db --rpm --cross-bootstrap --user=mysql --disable-log-bin --upgrade-info 2>&1 | $ERR_LOGGER
set -e
## On every reconfiguration the maintenance user is recreated.
......
......@@ -276,6 +276,21 @@ This must be given as the first argument\&.
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_install_db: upgrade-info option
.\" upgrade-info option: mysql_install_db
\fB\-\-upgrade\-info\fR
.sp
This places a mysql_upgrade_info file containing the server version in the data directory\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql_install_db: rpm option
.\" rpm option: mysql_install_db
\fB\-\-rpm\fR
......
......@@ -41,6 +41,7 @@ create database if not exists test;
use mysql;"
auth_root_authentication_method=normal
auth_root_socket_user='root'
upgrade_info=0
dirname0=`dirname $0 2>/dev/null`
dirname0=`dirname $dirname0 2>/dev/null`
......@@ -97,6 +98,7 @@ Usage: $0 [OPTIONS]
user. You must be root to use this option. By default
mysqld runs using your current login name and files and
directories that it creates will be owned by you.
--upgrade-info Store mysql_upgrade_info in the installed data directory.
All other options are passed to the mysqld program
......@@ -152,6 +154,7 @@ parse_arguments()
--skip-name-resolve) ip_only=1 ;;
--verbose) verbose=1 ; silent_startup="" ;;
--rpm) in_rpm=1 ;;
--upgrade-info) upgrade_info=1 ;;
--help) usage ;;
--no-defaults|--defaults-file=*|--defaults-extra-file=*)
defaults="$arg" ;;
......@@ -509,6 +512,10 @@ SET @auth_root_socket='$auth_root_socket_user';" ;;
esac
if { echo "$install_params"; cat "$create_system_tables" "$create_system_tables2" "$fill_system_tables" "$fill_help_tables" "$maria_add_gis_sp"; } | eval "$filter_cmd_line" | mysqld_install_cmd_line > /dev/null
then
if test "$upgrade_info" -eq 1
then
printf "@VERSION@-MariaDB" > "$ldata/mysql_upgrade_info"
fi
s_echo "OK"
else
echo
......
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