How to Install MySQL 8.0 on CentOS 8 / RHEL 8

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.

Note: The instructions provided in this article will only work if you have enabled the Red Hat subscription on RHEL 8.

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.

Install MySQL on CentOS 8 Using AppStream
Install MySQL on CentOS 8 Using AppStream

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
Manage MySQL Service in CentOS 8
Manage MySQL Service in CentOS 8

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
Secure MySQL Installation in CentOS 8
Secure MySQL Installation in CentOS 8

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.

If this article helped, with someone on your team.

TecMint Weekly Newsletter
Get the Learn Linux 7 Days Crash Course free when you join 34,000+ Linux professionals reading every Thursday.
Check your email for a magic link to get started.
Something went wrong. Please try again.
TecMint has been free for 14 years. Help keep it that way.
Google AI Overviews and tools like ChatGPT have cut into search traffic for independent tech sites like TecMint. Running this site costs over $2,000 every month for hosting, infrastructure, and paying authors to keep the content accurate and tested.

If this article helped you solve a problem, consider buying a coffee. It helps keep TecMint free, supports the authors, and keeps the project going.
☕ Buy Me a Coffee
Anusha Saive
Anusha worked for many years in the IT industry as a Project Manager, and also a senior writer and editor at Tecmint. She is a huge fan of Linux and is passionate about writing Linux and technology-related stuff.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

8 Comments

Leave a Reply
  1. 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.

    Reply
  2. 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/)

    Reply
  3. Hi Anusha, thanks for your article!

    MySQL 8 cannot permit shorthand for creating user and permissions :(

    You have to create before the user:
    CREATE USER ''@'localhost' IDENTIFIED BY '';
    
    and then you can assign the permission:
    GRANT ALL ON .* TO ''@'localhost';
    

    Hope you can help someone :)
    Have fun and stay safe!

    Reply
    • 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.

      Reply

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.

Free Course
Get a free Linux course before you go.
Subscribe to TecMint Weekly and get the Learn Linux 7 Days Crash Course free. Read by 34,000+ Linux professionals every Thursday.
Something went wrong. Please try again.
Check your email for a magic link to get started.