MySQL is an open-source, relational database management system. At present, it is being developed under the Oracle Corporation. The MySQL 8 is the latest version available for the installation and use of the production application. MySQL 8.0 has many improvements and 2x processing speed over the previous version. In this version, MySQL team includes document store for developing both SQL and NoSQL document applications using a single database.

Advertisement

This tutorial will help you to install MySQL 8 on CentOS 8 and RHEL 8 systems.

Prerequisites

You must have shell access with sudo privileged account on CentOS 8 system.

Step 1 – Install MySQL

The MySQL 8 packages are available under the AppStrem repository under CentOS 8. Install the required packages using the following command. This will also install multiple dependent packages.

sudo dnf -y install @mysql

After completing the installation, enable the MySQL service to auto-start on the system start. Also start service manually for the first time.

sudo systemctl enable mysqld.service
sudo systemctl start mysqld.service

Then check the service current status using the following command:

sudo systemctl status mysqld.service
● mysqld.service - MySQL 8.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2020-02-25 04:43:13 UTC; 22s ago
 Main PID: 16666 (mysqld)
   Status: "Server is operational"
    Tasks: 39 (limit: 17963)
   Memory: 534.9M
   CGroup: /system.slice/mysqld.service
           └─16666 /usr/libexec/mysqld --basedir=/usr

Feb 25 04:43:04 tecadmin systemd[1]: Starting MySQL 8.0 database server...
Feb 25 04:43:04 tecadmin mysql-prepare-db-dir[16582]: Initializing MySQL database
Feb 25 04:43:13 tecadmin systemd[1]: Started MySQL 8.0 database server.

Step 2 – Secure MySQL Installation

The MySQL installation has been completed. Now you can connect the MySQL server without any password but we recommend to secure the MySQL installation. The MySQL packages provide mysql_secure_installation command to apply the security. Just run the below command on terminal:

sudo mysql_secure_installation

and follow the on-screen instructions. Below are the details which require user input.

  • Press y|Y for Yes, any other key for No: y
  • Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
  • New password: [ENTER STRONG PASSWORD HERE]
  • Re-enter new password: RE ENTER PASSWORD HERE
  • Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
  • Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
  • Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
  • Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
  • Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y

Step 3 – Connect MySQL

You have finished the installation and secured the MySQL server. Now connect to MySQL server via console or install phpMyAdmin to use a graphical web interface.

mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.17 Source distribution

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>

Step 4 – Create Database and User

It’s not recommended to use ‘root’ users to connect databases from applications. So it is a good idea to create a separate user for your application database connection. Below are the commands to create a new MySQL database, then create a new MySQL user and assign privileges on the database.

You can change the database and user name as per your requirements. Also, use a strong password for the user.

mysql> CREATE DATABASE tecadmin;
Query OK, 1 row affected (0.01 sec)

mysql> CREATE USER 'tecadmin'@'localhost' IDENTIFIED BY 'your secure password here';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL ON tecadmin.* to 'tecadmin'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

Now, connect to MySQL server using the newly created user and list available databases.

mysql -u tecadmin -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.17 Source distribution

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 |
| tecadmin           |
+--------------------+
2 rows in set (0.01 sec)

mysql>

Conclusion

You have successfully installed and configured MySQL 8.0 on CentOS 8 system. Your server is ready for production use. You may also require to configure automated database backup script for the production system.

Share.
Leave A Reply


Exit mobile version