Share on Social Media

Learn how to install MySQL on CentOS 7 with this comprehensive guide. Follow our step-by-step instructions to set up and configure MySQL efficiently on your CentOS 7 system. #centlinux #linux #mysql

What is MySQL?

MySQL Server Community Edition (CE) is the free version of world’s most popular open source database server. It is distributed under GPL License and supported by a large and active community of open source developers. There is also a commercial version of MySQL server, which is developed and maintained by Oracle Corporation.

Read Also: How to install MariaDB on Rocky Linux 9

MySQL Server 8 Community Edition Features

Main features of MySQL Server CE are.

  • Supports SQL and NoSQL
  • Pluggable Storage Engine Architecture
  • MySQL Replication
  • MySQL InnoDB Cluster
  • MySQL Router
  • MySQL Partitioning
  • MySQL Workbench

Checkout complete list of MySQL Server 8 features at MySQL official website.

Recommended Training for You: Mastering SQL (Using MySQL, Java, and Go)

2034080 57db 3show?id=oLRJ54lcVEg&offerid=1606991.2034080&bids=1606991

Linux Server Specification

We have configured a CentOS 7 virtual machine with following specifications.

  • CPU – 3.4 Ghz (2 cores)
  • Memory – 2 GB
  • Storage – 20 GB
  • Operating System – CentOS 7.6
  • Hostname – mysql-server.example.com
  • IP Address – 192.168.116.180/24

Install MySQL Yum Repository

Connect with mysql-server.example.com using ssh as root user.

Download and install MySQL yum repository from MySQL official website.

# rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
Retrieving https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
warning: /var/tmp/rpm-tmp.fJdAIJ: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql80-community-release-el7-3  ################################# [100%]

Build cache for MySQL yum repository.

# yum makecache fast
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: ftp3.isra.edu.pk
 * extras: ftp3.isra.edu.pk
 * updates: ftp3.isra.edu.pk
base                                                     | 3.6 kB     00:00
extras                                                   | 3.4 kB     00:00
mysql-connectors-community                               | 2.5 kB     00:00
mysql-tools-community                                    | 2.5 kB     00:00
mysql80-community                                        | 2.5 kB     00:00
updates                                                  | 3.4 kB     00:00
(1/5): mysql-connectors-community/x86_64/primary_db        |  41 kB   00:00
(2/5): mysql-tools-community/x86_64/primary_db             |  58 kB   00:00
(3/5): mysql80-community/x86_64/primary_db                 |  70 kB   00:01
(4/5): extras/7/x86_64/primary_db                          | 205 kB   00:01
(5/5): updates/7/x86_64/primary_db                         | 6.4 MB   00:15
Metadata Cache Created

Install MySQL on CentOS 7

We have added the MySQL yum repository, now we can install MySQL on CentOS 7 and relevant packages using yum command.

# yum install -y mysql-community-server

MySQL service is automatically enabled by the installer. Therefore, we are only required to start mysqld.service once.

# systemctl start mysqld.service

During first start-up, MySQL service generates a temporary password in /var/log/mysqld.log file.

Retrieve this password using following command.

# grep 'temporary password' /var/log/mysqld.log
2019-06-24T14:23:17.605740Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: B4gqaLFg6p_Y

Note down this password, we will use it later.

Securing MySQL Database Server

To configure and secure our MySQL database instance, we can use mysql_secure_installation command. We are also required to use temporary password to set a new password for root user.

# mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root:

The existing password for the user account root has expired. Please set a new password.

New password:

Re-enter new password:
The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.

All done!

Connect with MySQL database server using mysql command as root user.

# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 11
Server version: 8.0.16 MySQL Community Edition - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

mysql>

We have successfully install MySQL on CentOS 7.

This article does not address the usage of MySQL commands and SQL statements. Therefore, if you wish to learn MySQL architecture, commands and SQL statements, then we recommend you to read Murach’s MySQL (3rd Edition) (PAID LINK) by Mike Murach & Associates.

Final Thoughts

Installing MySQL on CentOS 7 can be straightforward when you follow the right steps. This guide provides detailed instructions to help you set up and configure MySQL efficiently. If you encounter any challenges or need professional assistance, I offer expert services to help with your MySQL installation and configuration.

For personalized support, please check out my Fiverr gig: MySQL Database Administrator. I provide comprehensive services to ensure your MySQL setup is optimized and running smoothly.

Thank you for following this guide, and I look forward to assisting you with your MySQL projects!

Leave a Reply