Browse Source

MDEV-4151 Mixed MySQL/MariaDB references in RPM upgrade error message

Update pre-install script to fix package detection and standardize
MariaDB/MySQL terminology in messages for improved upgrade reliability
and reduced user confusion.

All new code of the whole pull request, including one or several files that are
either new files or modified ones, are contributed under the BSD-new license. I
am contributing on behalf of my employer Amazon Web Services, Inc.
bb-10.5-MDEV-35343
Akshat Nehra 9 months ago
committed by Vicențiu-Marian Ciorbaru
parent
commit
868bc463c0
  1. 23
      support-files/rpm/server-prein.sh

23
support-files/rpm/server-prein.sh

@ -28,10 +28,11 @@ startup script in %{_sysconfdir}/init.d/.
if [ "$old_family" != "$new_family" ]; then
error_text="$error_text
Upgrading directly from MySQL $old_family to MariaDB $new_family may not
be safe in all cases. A manual dump and restore using mysqldump is
recommended. It is important to review the MariaDB manual's Upgrading
section for version-specific incompatibilities.
Upgrading directly from MariaDB or MySQL $old_family
to MariaDB $new_family may not be safe in all cases.
A manual dump and restore using mariadb-dump (or mysqldump) is recommended.
It is important to review the MariaDB manual's Upgrading section for
version-specific incompatibilities.
"
fi
@ -39,23 +40,23 @@ section for version-specific incompatibilities.
cat <<HERE >&2
******************************************************************
A MySQL or MariaDB server package ($installed) is installed.
A MariaDB or MySQL server package ($installed) is installed.
$error_text
A manual upgrade is required.
- Ensure that you have a complete, working backup of your data and my.cnf
files
- Shut down the MySQL server cleanly
- Remove the existing MySQL packages. Usually this command will
- Shut down the MariaDB or MySQL server cleanly
- Remove the existing MariaDB or MySQL packages. Usually this command will
list the packages you should remove:
rpm -qa | grep -i '^mysql-'
rpm -qa | grep -iE '^(mariadb|mysql)-'
You may choose to use 'rpm --nodeps -ev <package-name>' to remove
the package which contains the mysqlclient shared library. The
library will be reinstalled by the MariaDB-shared package.
- Install the new MariaDB packages supplied by $myvendor
- Ensure that the MariaDB server is started
- Run the 'mysql_upgrade' program
- Run the 'mariadb-upgrade' program
This is a brief description of the upgrade process. Important details
can be found in the MariaDB manual, in the Upgrading section.
@ -65,8 +66,8 @@ HERE
fi
fi
# Create a MySQL user and group. Do not report any problems if it already exists.
# Create a MariaDB user and group. Do not report any problems if it already exists.
groupadd -r %{mysqld_group} 2> /dev/null || true
useradd -M -r --home %{mysqldatadir} --shell /sbin/nologin --comment "MySQL server" --gid %{mysqld_group} %{mysqld_user} 2> /dev/null || true
useradd -M -r --home %{mysqldatadir} --shell /sbin/nologin --comment "MariaDB server" --gid %{mysqld_group} %{mysqld_user} 2> /dev/null || true
# The user may already exist, make sure it has the proper group nevertheless (BUG#12823)
usermod --gid %{mysqld_group} %{mysqld_user} 2> /dev/null || true
Loading…
Cancel
Save