Install Specific Version of MySQL 8 using YUM

Mydbops
Dec 12, 2020
15
Mins to Read
All

We have many ways to install MySQL on linux machines such as source, binary and so on. But most of the Engineers always prefer default package managers (yum for RPM-Based distributions and apt for DPKG-Based distributions) for its ease of use and it can resolve all dependencies on its own. And of course, it is not possible to use package managers in environments where the internet is not allowed, but this is a different case.

At some point, we need to install exactly specific version of MySQL for the following cases

  • To create Production Replicas
  • To simulate an Production Issue on similar kind of environment
  • To configure Disaster Recovery(DR)/UAT Setup
  • Compatibility with opensource tools ( Eg , Xtrabackup compatibility )

But following the instructions from MySQL Documentation for installation using yum always leads to the installation of the latest version released. At the time of writing this blog, the latest release is MySQL 8.0.22. Following the documentation steps resulted in installation of the same. Definitely, we can install other versions of MySQL using RPM files. But it is quite tough at times because of its dependencies or conflicts with any other older version packages.

So, in this blog post, we will look at how to install a specific version of MySQL using yum. All the following steps are tested in CentOS 7 and it requires sudo privileges.

  1. Setting up Yum Repository

The below command will enable the yum repository required for the installation of MySQL

 
rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm
	
  1. Disabling all repos in MySQL

It is to disable repos for all versions of MySQL.

 
sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/mysql-community.repo
	
  1. To install MySQL 8 of particular minor version, let’s say 8.0.20 , we can execute the following command
 
yum --enablerepo=mysql80-community install mysql*8.0.20*
	

So, the general command will be like

 
yum --enablerepo=mysql80-community install mysql*8.0.X*
	

Where X is the minor version that you want

Or else if you want to install the latest version, just go with the below command. It will install the latest version available at that time.

 
yum --enablerepo=mysql80-community install mysql-community-server
	

That’s it if the above command succeeds. We will get the required version successfully installed on the server.

  1. Start the MySQL service

Use the below service command to start up the MySQL service

 
service mysqld start
	
  1. Get the temporary password in the error log

By default, MySQL will generate a temporary password for root user and it will be in the error log. So, to get the temporary password from error log use the below command.

 
grep "temporary password" /var/log/mysqld.log
	

The sample output would be like:

 
[root@ha mydbopslabs]# grep "temporary password" /var/log/mysqld.log
2020-12-10T14:12:49.940127Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 7y:ztnVKwh7q
[root@ha mydbopslabs]#
	
  1. Login the MySQL using root user with the temporary password
 
mysql -p'$temporary password'
	
  1. On successful login, we should reset the root user password as the first thing. Otherwise, we cannot execute any commands until we reset the password. we will get the warning like below
 
mysql> show schemas;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql>
	

To reset the root user password, execute the below query on mysql prompt.

 
alter user 'root'@'localhost' identified by 'strong password';
	

Sample query be like

 
mysql>
mysql> alter user 'root'@'localhost' identified by '[BX.D"7s!c';
Query OK, 0 rows affected (0.22 sec)
mysql>
	

Once it is done, our MySQL setup is ready to use. For fine tuning of MySQL to handle production work load, refer our presentation Fine Tuning of MySQL 8.0 which was taken at Mydbops Database Meetup.

Also, look our other blogs that explores the coolest features of MySQL 8.0 which greatly helps for Database Administrators and Developers.

Need help with MySQL installations, optimization, or other database challenges? Contact Mydbops today for expert guidance!

{{cta}}

No items found.

About the Author

Mydbops

Subscribe Now!

Subscribe here to get exclusive updates on upcoming webinars, meetups, and to receive instant updates on new database technologies.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.