Thursday, 5 June 2025

Upgrade MySQL Commercial Edition from 8.4.5 to 9.3.0 on Oracle Linux 8.0

 

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

 

No comments:

Post a Comment

The instance '****.**.**:3306' cannot be added to an InnoDB cluster because it has asynchronous (source-replica) replication channel(s) configured. MySQL InnoDB Cluster

  Error :    MySQL  JS > dba.checkInstanceConfiguration("root@192.*.*.*")  NOTE: Found unexpected replication channel '...