MySQL is the most popular, free and open-source relational database management platform, which is used to host multiple databases on any single server by allowing multi-user access to each database.
The latest MySQL 8.0 version is available to install from the default AppStream repository using the MySQL module that is enabled by default on the CentOS 8 and RHEL 8 systems.
There is also MariaDB 10.3 database version is available to install from the default AppStream repository, which is “drop-in replacement” for MySQL 5.7, with some restrictions. If your application is not supported with MySQL 8.0, then I recommend you to install MariaDB 10.3.
In this article, we will walk through you the process of installing the latest MySQL 8.0 version on CentOS 8 and RHEL 8 using the default AppStream repository via YUM utility.
Install MySQL 8.0 on CentOS8 and RHEL 8
The latest version of the MySQL 8.0 is available to install from the default Application Stream repository on CentOS 8 and RHEL 8 systems using the following yum command.
# yum -y install @mysql
The @mysql
module will install the most recent version of MySQL with all dependencies.
Once the installation of MySQL completes, start the MySQL service, enable it to automatically start at system boot and verify the status by running the following commands.
# systemctl start mysqld # systemctl enable --now mysqld # systemctl status mysqld
Now secure the MySQL installation by running the security script that carries several security-based operations such as setting the root password, removing anonymous users, disallow root login remotely, remove test database and reload privilege.
# mysql_secure_installation
Once MySQL installation is secured, you can log in to the MySQL shell, and start creating new databases and users.
# mysql -u root -p mysql> create database tecmint; mysql> GRANT ALL ON tecmint.* TO ravi@localhost IDENTIFIED BY 'ravi123'; mysql> exit
That’s all! In this article, we’ve explained how to install MySQL 8.0 on CentOS 8 and RHEL 8. If you have any questions or feedback, do share it with us in the comment section below.
The line “systemctl start mysqld” can be removed as the –now in “systemctl enable –now mysqld” will enable and start the process. Otherwise, remove
--now
as it is redundant.Hello, I just want to know how to configure a second instance on for example for 3377 of mySQL 8 with centos8?
Thanks
@Koutouan,
Compile the MySQL from sources to a specific directory and have a different port to run…
a link or article will be helpful…
Upstream (from Oracle, the builders of MySQL) the version I saw earlier was more up to date. So it’s fine to pick up the version from RedHat / CentOS but also it may be of interest to follow the upstream repo provided by Oracle for MySQL 8 which gives you a compatible rpm mysql-community-server which is likely to be the true “latest” version.
RH / CentOS have patched versions and it’s good they provide this out of the box but if you want to be fully up to date using the repo provided by Oracle is probably better (e.g. see: https://downloads.mysql.com/)
Hi Anusha, thanks for your article!
MySQL 8 cannot permit shorthand for creating user and permissions :(
Hope you can help someone :)
Have fun and stay safe!
The changes in MySQL 8.0 are deliberate to make user creation/removal/changes explicit and providing grants separately. The older behaviour could generate security issues if you “added grants” to a user that was not configured as this implicitly could create the user.
is there any reason you configured MySQL root user only?