0% found this document useful (0 votes)
20 views

Upgrading MySQL Server

MySQL Database update

Uploaded by

ROHIT SELVAM6
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Upgrading MySQL Server

MySQL Database update

Uploaded by

ROHIT SELVAM6
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

10.

Upgrading MySQL Server

Types of MySQL Version Upgrades

Minor Version Upgrade

Major MySQL Version Upgrade

1- MySQL upgrade checklist


2- mysqlsh script - Pre-Upgrade Check

Perform MySQL Major Version Upgrade

Types of MySQL Version Upgrades

there are two types of upgrades

1. Minor MySQL Version Upgrade

Example : upgrade from 8.0.28 to 8.0.30

2. Major MySQL Version Upgrade

Example : upgrade from 5.7 to 8.0

Minor Version Upgrade

The first step when performing a minor version upgrade is to obtain the current version of MySQL and
the newer minor upgrade available.

To get the current version of MySQL on Red Hat, we use the following command, which queries the
RPM package:

rpm -qa | grep -i percona

To obtain the newer version, we can check the Percona website and see which is the latest version
released.

https://www.percona.com/downloads
To summarize our current setup, we are running Percona MySQL 8.0.30 and aiming to upgrade it to
version 8.0.35

To begin, we will obtain the new version for Percona Server and Percona Server Client from the
Percona website. We can directly download the packages using the wget command.

i will copy the link for download and past it along side wget command to download the package on VM

wget https://downloads.percona.com/downloads/Percona-Server-8.0/Percona-
Server-8.0.35-27/binary/redhat/8/x86_64/percona-server-client-8.0.35-
27.1.el8.x86_64.rpm?_gl=1*14grt98*_gcl_au*MTA0Mzk1MDYyOS4xNzE1NjkwMzk5

wget https://downloads.percona.com/downloads/Percona-Server-8.0/Percona-
Server-8.0.35-27/binary/redhat/8/x86_64/percona-server-server-8.0.35-
27.1.el8.x86_64.rpm?_gl=1*14grt98*_gcl_au*MTA0Mzk1MDYyOS4xNzE1NjkwMzk5

the file will be download compressed in at format , we will use command tar -xf [filename] to
extract the file

tar -xf percona-server-client-8.0.35-27.1.el8.aarch64.rpm?


_gl=1*1p3zum3*_gcl_au*MTA0Mzk1MDYyOS4xNzE1NjkwMzk5

tar -xf percona-server-server-8.0.35-27.1.el8.x86_64.rpm?


_gl=1*14grt98*_gcl_au*MTA0Mzk1MDYyOS4xNzE1NjkwMzk5

next step which is very important is to stop MySQL services

systemctl stop mysqld

systemctl status mysqld


now we will start installing the package using yum localinstall

sudo yum localinstall percona-server-client-8.0.35-27.1.el8.x86_64.rpm


The minor upgrade has completed successfully, and we can now start the MySQL service.

Major MySQL Version Upgrade

reference link
For a MySQL major version upgrade, the process typically involves installing the desired major version
first, such as MySQL 5.7, and then performing the upgrade to version 8.

we can use the below script to install MySQL 5.8

PERCONA REPO
sudo yum -y install https://repo.percona.com/yum/percona-release-
latest.noarch.rpm
ENABLE 5.7 REPO
sudo percona-release setup ps57
INSTALL MYSQL 5.7
sudo yum -y install Percona-Server-server-57
VERIFY MYSQL 5.7
rpm -qa | grep -i percona
START MYSQL
sudo systemctl start mysqld.service
GRAB ROOT PASSWORD AND RUN SECURE INSTALLATION
grep temp /var/log/mysqld.log
mysql_secure_installation

For testing purposes, we'll replicate the real-world example database on the server to simulate the
upgrade in a more realistic manner. You can execute the following command to download the database
and then import it into the MySQL server.

wget https://downloads.mysql.com/docs/world-db.tar.gz

tar -xf world-db.tar.gz

cd world-db/
mysql -uroot -p < world.sql
1- MySQL upgrade checklist

first thing we need to confirm that all the data in the database and all tables are in proper format

we can use the mysqlcheck utility

mysqlcheck -uroot -p --all-databases --check-upgrade


The command will verify all tables in the database to ensure their compliance with the current version,
checking for any errors or inconsistencies.

2- mysqlsh script - Pre-Upgrade Check

There is actually a MySQL script, designed by Oracle, that checks whether the current version is
compatible with the MySQL upgrade process.

you can follow the steps in this link You'll download MySQL Shell and run a script that assesses whether
upgrading from the current version to MySQL 8 is feasible.
mysqlsh is installed and now we will run the script provided by oracle to check upgrade combability

mysqlsh -- util check-for-server-upgrade root@localhost --target-


version=8.0.30 --output-format=JSON --config-path=/etc/my.cnf

The concern is ensuring that the report generated by the script does not contain any errors.

Warnings may be present, but the summary report will confirm that there are no errors preventing the
upgrade, providing a description of the findings.

one waring is regarding authencating since mysql 8 will use new verison
Perform MySQL Major Version Upgrade

now we will start by downloading the mysql package


but before that let's first verify which package are installed
rpm -qa | grep -i percona
we will download the package first

wget https://downloads.percona.com/downloads/Percona-Server-8.0/Percona-
Server-8.0.30-22/binary/redhat/8/x86_64/Percona-Server-8.0.30-22-
r7e301439b65-el8-x86_64-bundle.tar?
_gl=1*1hchtzx*_gcl_au*MTA0Mzk1MDYyOS4xNzE1NjkwMzk5

tar -xf Percona-Server-8.0.30-22-r7e301439b65-el8-x86_64-bundle.tar?


_gl=1*1hchtzx*_gcl_au*MTA0Mzk1MDYyOS4xNzE1NjkwMzk

now stop mysqld services

systemctl stop mysqld

remove MySQL 5.7 from system

sudo yum remove Percona-Server-shared-compat-57-5.7.44-48.1.el8.x86_64 -y

sudo yum remove Percona-Server-shared-57-5.7.44-48.1.el8.x86_64

Removing 'shared' and 'shared-compat' will uninstall both the MySQL Server client and the MySQL
Server itself.
now we will install mysql 8 on system

sudo yum localinstall percona-server-shared-8.0.30-22.1.el8.x86_64.rpm

sudo yum localinstall percona-server-shared-8.0.30-22.1.el8.x86_64.rpm

sudo yum localinstall percona-icu-data-files-8.0.30-22.1.el8.x86_64.rpm

sudo yum localinstall percona-server-client-8.0.30-22.1.el8.x86_64.rpm

sudo yum localinstall percona-server-server-8.0.30-22.1.el8.x86_64.rpm


Before initiating the upgrade process, you need to start MySQL with the upgrade option. Upon starting
mysqld with the upgrade option, from version shared-8.0.16 onwards, it will conduct a check on all
binary and data files, initiating the upgrade process as necessary.

systemctl start mysqld

You can monitor the progress of the upgrade process by checking the log files, which will provide
insights into how the upgrade process is proceeding.

sudo cat /var/log/mysqld.log

You might also like