main logo

How to Install MySQL on Fedora 41

How to Install MySQL on Fedora 41

Fedora 41, staying true to Fedora’s philosophy of delivering the latest in open-source software, provides an excellent platform for developers and administrators who need up-to-date tools, including MySQL. This guide will walk you through installing MySQL Community Server on a Fedora 41 system. We will cover system updates, MySQL package installation (preferably via the official MySQL Yum repository or Fedora’s repositories if current), essential security hardening, and service management. For users requiring advanced server administration or dedicated Linux Server Support, professional services are available.

MySQL is a leading open-source relational database management system (RDBMS), vital for a vast array of applications that depend on reliable and scalable data storage. This tutorial aims to help you establish a secure and functional MySQL installation on your Fedora 41 server.

Note on Fedora’s Release Cycle: Fedora releases occur approximately every six months, with each release being supported for roughly 13 months. Users of Fedora 41 for production systems should be aware of its EOL and plan for timely upgrades.

Prerequisites

  • A server running Fedora 41.
  • A non-root user account with sudo privileges.
  • Access to a terminal or command-line interface (CLI).

Before proceeding, ensure your Fedora 41 system is fully updated and you have a sudo-enabled user. Consult Fedora’s initial server setup documentation if needed.

Step 1 — Updating System Packages

Before installing any new software on Fedora, it’s critical to ensure your system’s packages are current. This refreshes metadata and applies the latest updates and security patches.

sudo dnf upgrade --refresh

Step 2 — Installing MySQL

Fedora’s repositories often contain recent MySQL versions. However, for the absolute latest or specific MySQL series, the official MySQL Yum repository is the preferred source.

Method 1: Using Fedora Repositories (Check Version Suitability)

First, check the availability and version of MySQL packages in Fedora’s repositories:

sudo dnf search mysql-server

If a suitable version (e.g., community-mysql-server) is listed, you can install it directly:

sudo dnf install community-mysql-server # Or the specific package name found

Method 2: Using the Official MySQL Yum Repository (Recommended for Latest/Specific Versions)

  1. Download the MySQL Yum Repository Setup RPM:
    Navigate to the MySQL Yum Repository download page and obtain the correct RPM package for Fedora 41 (e.g., mysql80-community-release-fc41-...noarch.rpm or a newer one for MySQL 8.x LTS like 8.4.x if available for Fedora 41).

    “`bash

    Example for MySQL 8.0 – replace with the correct current URL/filename for Fedora 41

    wget https://dev.mysql.com/get/mysql80-community-release-fc41-1.noarch.rpm
    “`
    (Disclaimer: The exact filename changes with versions. Always fetch the latest from the official MySQL website.)

  2. Install the Repository RPM:
    bash
    sudo dnf install mysql80-community-release-fc41-1.noarch.rpm # Adjust filename as per download

    This command adds the MySQL Yum repository to your system’s configuration and imports the necessary GPG key for package verification.

  3. Install MySQL Server:
    With the repository configured, install the MySQL server package:
    bash
    sudo dnf install mysql-community-server

After completing the installation using either method, start the MySQL service:

sudo systemctl start mysqld

Verify that the service has started successfully and is running:

sudo systemctl status mysqld

The output should indicate the service is active (running).

If MySQL was installed from the official repository, it typically generates a temporary root password during the initial setup. This password can be found in the MySQL error log:

sudo grep 'temporary password' /var/log/mysqld.log

Securely note this temporary password, as it’s required for the next step. If MySQL was installed from Fedora’s native repositories, the initial root authentication mechanism might differ (e.g., it might use socket authentication, similar to Debian/Ubuntu systems, potentially not setting a temporary password).

Step 3 — Securing MySQL

MySQL provides an essential security script, mysql_secure_installation, which must be run to harden your MySQL server. This script will guide you through critical security configurations, including setting a new root password, removing anonymous users, disallowing remote root logins, and removing the test database.

Execute the script with sudo privileges:

sudo mysql_secure_installation
  1. Enter Temporary/Current Password: If a temporary password was generated, you’ll be prompted for it. If not (e.g., if socket authentication is in use for root and no password was initially set), the script’s behavior might vary, possibly asking if you wish to set a root password directly.
  2. VALIDATE PASSWORD Component: You’ll be asked if you want to enable the VALIDATE PASSWORD component. This is highly recommended for production environments to enforce strong password policies, thereby enhancing security. If you select Yes (Y), you will then choose a password validation policy level (0 for LOW, 1 for MEDIUM, or 2 for STRONG).
  3. Set New Root Password: You will be prompted to create and confirm a new password for the MySQL root user. Ensure you select a strong, unique password.
  4. Security Questions: The script will then pose a series of yes/no questions to further secure your installation:
    • Remove anonymous users? (Recommended: Yes)
    • Disallow root login remotely? (Recommended: Yes)
    • Remove test database and access to it? (Recommended: Yes)
    • Reload privilege tables now? (Recommended: Yes)

Completing these steps is fundamental for a secure MySQL deployment. For advanced security needs or ongoing database administration, consider leveraging professional MySQL support.

Step 4 — Testing MySQL

After securing your MySQL installation, it’s important to verify that you can log in with the new root password.

mysql -u root -p

Enter the new root password you configured. A successful login will present the MySQL monitor prompt (mysql>).

Execute a simple command to confirm functionality, such as checking the MySQL server version:

SELECT VERSION();

To exit the MySQL monitor, type:

EXIT;

Step 5 — Managing the MySQL Service

The MySQL service on Fedora 41 is managed using the systemctl utility.

  • Start MySQL:
    bash
    sudo systemctl start mysqld
  • Stop MySQL:
    bash
    sudo systemctl stop mysqld
  • Restart MySQL:
    bash
    sudo systemctl restart mysqld
  • Check MySQL Status:
    bash
    sudo systemctl status mysqld
  • Enable MySQL on Boot: To ensure MySQL starts automatically when the server boots:
    bash
    sudo systemctl enable mysqld
  • Disable MySQL on Boot: To prevent MySQL from starting automatically:
    bash
    sudo systemctl disable mysqld

Conclusion

You have successfully installed and secured MySQL on your Fedora 41 server. Your database is now ready for use with your applications. Given Fedora’s rapid release and support cycle, remember to stay informed about updates and plan for system upgrades to maintain a secure and supported environment.

For further information and related guides, these resources may be helpful:

Robust database management is crucial for application stability and data protection. If your organization requires expert assistance with database administration, performance optimization, or is considering comprehensive Managed IT Services, Medha Cloud offers a suite of tailored solutions. For Managed Service Providers (MSPs), Medha Cloud also provides white-label managed IT services, enabling you to expand your service offerings under your own brand.

Medha Cloud
Medha Cloud
Medha Cloud, a leading multi-cloud service provider, focuses on cloud computing and digital transformation. Every article published under the Medha Cloud brand is a collaborative effort by our team. We are committed to sharing insights, best practices, how-tos, reviews, and real-world examples to help organizations stay ahead of the curve and thrive in the digital age
Share
Contents

Related Articles

medhacloud logo
USA:
Medha Cloud Solutions LLC
30 N Gould St Ste R, Sheridan, WY 82801,
Phone: +1 646 775 2855

India:
Medha Cloud Solutions Private Limited
#74, 7th Cross, Krishna Garden InCity Layout. Chikka Kammanahalli, Banneraghatta Road, Bangalore 560083
Phone:+91 93536 44646

E-Mail: sales@medhahosting.com
©Medha Cloud 2024. All rights reserved.