
Topic: Upgrade MySQL Commercial Edition from 8.4.5 to 9.3.0 on Oracle
Linux 8.0
Upgrade in MySQL
generally refers to updating the MySQL Cluster (Server) to a newer version, either
a minor or major release, to benefit from bug fixes, new features, and
performance enhancements. It also involves using the mysql_upgrade
script to ensure your database schemas are compatible with the updated server.
In MySQL, the first
two numbers of the version number represent the major version, while the last
number indicates the minor version. A major version bump usually signifies
incompatible changes or a new major feature set, while a minor version update
typically introduces new features or bug fixes while maintaining backward
compatibility.
Implementation Diagram:

Infrastructure Diagram:
OS Details
|
Host Name
|
Database Version
|
ORACLE_HOME
|
RHEL release 8.10 (Ootpa)
|
mysql-se.example.com
|
8.4.5
|
/var/lib/mysql
|

OS Details
|
Host Name
|
Database Version
|
ORACLE_HOME
|
RHEL release 8.10 (Ootpa)
|
mysql-se.exampl.com
|
9.3.0
|
/var/lib/mysql
|
In this QuickStart, we learn how
to:
- Check
the current version of MySQL
- Check
the backup status
- Check
the MySQL edition upgrade matrix
- Download
and stage the new version of MySQL
- Install
MySQL shell from the new binaries
- Perform
the Pre-check using MySQL Shell
- Set
the DNF repo for the new MySQL version rpm
- stop
the MySQL service
- Upgrade
and install the new version mysql using DNF
- start
the MySQL service
- Connect
to the MySQL cluster and validate the version
- Validation
Step 01: Check
the current version of MySQL
[mysql@mysql-se
~]$ mysql --version

Step 02: Check the backup status
-
Check
full backup status. If needed, then take a full backup of the MySQL cluster
Step 03: Check the MySQL commercial edition
upgrade path



Step 04: Download and stage the new
version of MySQL
[root@mysql-se tmp]# pwd
/tmp
[root@mysql-se tmp]# ls -ltr
*.tar
-rw-r--r--. 1 root root
817848320 Jun 5 13:12
mysql-enterprise-9.3.0_el8_x86_64_bundle.tar
[root@mysql-se tmp]#

Step 05: Install MySQL shell from the new
binaries
[root@mysql-se mysql-9.3.0]# pwd
/tmp/mysql-9.3.0
[root@mysql-se mysql-9.3.0]# ls
-ltr *shell*
-rw-r--r--. 1 7155 31415
119818132 Mar 19 08:02 mysql-shell-commercial-9.3.0-1.1.el8.x86_64.rpm
[root@mysql-se mysql-9.3.0]#
[root@mysql-se mysql-9.3.0]# rpm
-ivh mysql-shell-commercial-9.3.0-1.1.el8.x86_64.rpm

[root@mysql-se mysql-9.3.0]#
mysqlsh --version


Step 06: Perform the Pre-check using
MySQL Shell




INFORMATION: The Above output shows one
warning seems it is deployment environment that’s why some parameter not set
properly. Now we are good to proceed the upgrade
Step 07: Set the DNF repo for the new MySQL
version rpm
-
Before
setting up the Mysql repos read the readme.txt. in readme file you will
get below command
-
[root@mysql-se mysql-9.3.0]#
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
[root@mysql-se mysql-9.3.0]#
yum-config-manager --add file:///tmp/mysql-9.3.0
Adding repo from:
file:///tmp/mysql-9.3.0
[root@mysql-se mysql-9.3.0]#
Step 08: stop the MySQL service
[root@mysql-se mysql-9.3.0]#
systemctl stop mysqld
[root@mysql-se mysql-9.3.0]#
systemctl status mysqld

Step 09: Upgrade and install the new
version mysql using DNF
[root@mysql-se mysql-9.3.0]# dnf
upgrade mysql-commercial-server


INFORMATION: If you get error sudo:
yum-config-manager: command not found means you need to install dnf install
yum-utils.
Step 10: start the MySQL service
[root@mysql-se mysql-9.3.0]#
systemctl daemon-reload
[root@mysql-se mysql-9.3.0]#
systemctl start mysqld
[root@mysql-se mysql-9.3.0]#
systemctl status mysqld

Step 11: Connect to the MySQL cluster
and validate the version
[root@mysql-se mysql-9.3.0]#
mysql --version
mysql Ver 9.3.0-commercial for Linux on x86_64
(MySQL Enterprise Server - Commercial)
[root@mysql-se mysql-9.3.0]#
Step 12: Validation
[root@mysql-se mysql-9.3.0]#
mysql -u root -p

