Install MySQL 8 on CentOS 8

Last Updated:

This guide will take you through how to install MySQL 8 on CentOS 8. MySQL is one of the famous opensource relational database management system.

Install MySQL 8 on CentOS 8

MySQL 8 is available for installation on the AppStream repos for CentOS 8. The AppStream repos are enabled by default.

dnf whatprovides mysql
mysql-8.0.13-1.module_el8.0.0+41+ca30bab6.x86_64 : MySQL client programs and shared libraries
Repo        : AppStream
Matched from:
Provide    : mysql = 8.0.13-1.module_el8.0.0+41+ca30bab6

Hence, MySQL 8 server can simply be installed by running the command below;

dnf install mysql-server

To install MySQL 8 client;

dnf install mysql

To install both MySQL 8 server and client;

dnf install @mysql
 Package                                   Arch                  Version                                                Repository                Size
Installing group/module packages:
 mysql-server                              x86_64                8.0.13-1.module_el8.0.0+41+ca30bab6                    AppStream                 25 M
Installing dependencies:
 mariadb-connector-c-config                noarch                3.0.7-1.el8                                            AppStream                 13 k
 mecab                                     x86_64                0.996-1.module_el8.0.0+41+ca30bab6.9                   AppStream                397 k
 mysql                                     x86_64                8.0.13-1.module_el8.0.0+41+ca30bab6                    AppStream                9.2 M
 mysql-common                              x86_64                8.0.13-1.module_el8.0.0+41+ca30bab6                    AppStream                142 k
 mysql-errmsg                              x86_64                8.0.13-1.module_el8.0.0+41+ca30bab6                    AppStream                523 k
 protobuf-lite                             x86_64                3.5.0-7.el8                                            AppStream                150 k
Installing module profiles:
Enabling module streams:
 mysql                                                           8.0                                                                                  

Transaction Summary
Install  7 Packages

Total download size: 36 M
Installed size: 243 M
Is this ok [y/N]: y

Running MySQL 8 on CentOS 8

Once the installation completes, start and enable MySQL 8 server to run on system boot.

systemctl start mysqld
systemctl enable mysqld

To check the status of MySQL 8 server;

systemctl status mysqld
● mysqld.service - MySQL 8.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2019-10-02 13:19:32 EDT; 42s ago
 Main PID: 29142 (mysqld)
    Tasks: 38 (limit: 11512)
   Memory: 466.4M
   CGroup: /system.slice/mysqld.service
           └─29142 /usr/libexec/mysqld --basedir=/usr

Oct 02 13:19:20 localhost.localdomain systemd[1]: Starting MySQL 8.0 database server...
Oct 02 13:19:20 localhost.localdomain mysql-prepare-db-dir[29057]: Initializing MySQL database
Oct 02 13:19:32 localhost.localdomain systemd[1]: Started MySQL 8.0 database server.

MySQL 8 Initial Security

By default, MySQL ships with security script that is used to remove test MySQL server databases, remove anonymous users in the database, disable remote root login, set the password strength. To run the script, simply execute the command;


When run, you are prompted whether to enable or disable password policy. If enabled, set the password policy and create the password that matches your chosen policy.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Please set the password for root here.

New password: 

Re-enter new password: 

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

Next, remove anonymous users, disallow remote root login, remove test database and reload privileges tables to effect the changes made.

You can now login to your MySQL 8 server as a root user with the password set above.

mysql -u root -p

To show MySQL version, you can run the query;

show variables like "version%";
| Variable_name           | Value               |
| version                 | 8.0.13              |
| version_comment         | Source distribution |
| version_compile_machine | x86_64              |
| version_compile_os      | Linux               |
| version_compile_zlib    | 1.2.11              |

You can as well run the command below on command line to show database version.

mysql -V
mysql  Ver 8.0.13 for Linux on x86_64 (Source distribution)

That is all on how to install MySQL 8 on CentOS 8.

Similar Tutorials

Install MySQL 8 on Debian 10 Buster

Install LEMP Stack with MySQL 8 on Fedora 30/Fedora 29

Install MySQL 8 on FreeBSD 12

Install MySQL 8 on Debian 9

Install MySQL 8 on Fedora 30/Fedora 29


We're passionate about sharing our knowledge and experiences with you through our blog. If you appreciate our efforts, consider buying us a virtual coffee. Your support keeps us motivated and enables us to continually improve, ensuring that we can provide you with the best content possible. Thank you for being a coffee-fueled champion of our work!

Photo of author
I am the Co-founder of, Linux and the whole FOSS enthusiast, Linux System Admin and a Blue Teamer who loves to share technological tips and hacks with others as a way of sharing knowledge as: "In vain have you acquired knowledge if you have not imparted it to others".

Leave a Comment