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 ...@@ -144,7 +144,7 @@ EOF
# 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 --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 set -e
## On every reconfiguration the maintenance user is recreated. ## On every reconfiguration the maintenance user is recreated.
......
...@@ -276,6 +276,21 @@ This must be given as the first argument\&. ...@@ -276,6 +276,21 @@ This must be given as the first argument\&.
.sp -1 .sp -1
.IP \(bu 2.3 .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 .\" mysql_install_db: rpm option
.\" rpm option: mysql_install_db .\" rpm option: mysql_install_db
\fB\-\-rpm\fR \fB\-\-rpm\fR
......
...@@ -41,6 +41,7 @@ create database if not exists test; ...@@ -41,6 +41,7 @@ create database if not exists test;
use mysql;" use mysql;"
auth_root_authentication_method=normal auth_root_authentication_method=normal
auth_root_socket_user='root' auth_root_socket_user='root'
upgrade_info=0
dirname0=`dirname $0 2>/dev/null` dirname0=`dirname $0 2>/dev/null`
dirname0=`dirname $dirname0 2>/dev/null` dirname0=`dirname $dirname0 2>/dev/null`
...@@ -97,6 +98,7 @@ Usage: $0 [OPTIONS] ...@@ -97,6 +98,7 @@ Usage: $0 [OPTIONS]
user. You must be root to use this option. By default user. You must be root to use this option. By default
mysqld runs using your current login name and files and mysqld runs using your current login name and files and
directories that it creates will be owned by you. 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 All other options are passed to the mysqld program
...@@ -152,6 +154,7 @@ parse_arguments() ...@@ -152,6 +154,7 @@ parse_arguments()
--skip-name-resolve) ip_only=1 ;; --skip-name-resolve) ip_only=1 ;;
--verbose) verbose=1 ; silent_startup="" ;; --verbose) verbose=1 ; silent_startup="" ;;
--rpm) in_rpm=1 ;; --rpm) in_rpm=1 ;;
--upgrade-info) upgrade_info=1 ;;
--help) usage ;; --help) usage ;;
--no-defaults|--defaults-file=*|--defaults-extra-file=*) --no-defaults|--defaults-file=*|--defaults-extra-file=*)
defaults="$arg" ;; defaults="$arg" ;;
...@@ -509,6 +512,10 @@ SET @auth_root_socket='$auth_root_socket_user';" ;; ...@@ -509,6 +512,10 @@ SET @auth_root_socket='$auth_root_socket_user';" ;;
esac 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 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 then
if test "$upgrade_info" -eq 1
then
printf "@VERSION@-MariaDB" > "$ldata/mysql_upgrade_info"
fi
s_echo "OK" s_echo "OK"
else else
echo 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