Home > Operation and Maintenance > CentOS > How do I install and configure MySQL/MariaDB on CentOS?

How do I install and configure MySQL/MariaDB on CentOS?

Karen Carpenter
Release: 2025-03-17 16:35:31
Original
268 people have browsed it

How do I install and configure MySQL/MariaDB on CentOS?

To install and configure MySQL/MariaDB on CentOS, follow these steps:

  1. Update System Packages:
    First, ensure your CentOS system is up to date. Open a terminal and run:

    <code>sudo yum update -y</code>
    Copy after login
  2. Install MySQL or MariaDB:

    • For MySQL:
      Add the MySQL repository to your system. You can download the appropriate release package from the MySQL website and install it. For example:

      <code>wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
      sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm
      sudo yum install mysql-server -y</code>
      Copy after login
    • For MariaDB:
      Install MariaDB from the default CentOS repository:

      <code>sudo yum install mariadb-server -y</code>
      Copy after login
  3. Start and Enable the Service:
    After installation, start the service and enable it to run on boot:

    <code>sudo systemctl start mysqld # For MySQL
    sudo systemctl start mariadb # For MariaDB
    sudo systemctl enable mysqld # For MySQL
    sudo systemctl enable mariadb # For MariaDB</code>
    Copy after login
  4. Secure the Installation:
    Run the security script provided by MySQL or MariaDB to secure your installation:

    <code>sudo mysql_secure_installation # For MySQL
    sudo mysql_secure_installation # For MariaDB</code>
    Copy after login

    Follow the prompts to set a root password, remove anonymous users, disallow root login remotely, and remove the test database.

  5. Configure MySQL/MariaDB:

    • Edit the Configuration File:
      The configuration file is usually located at /etc/my.cnf or /etc/mysql/my.cnf. You may need to adjust settings like bind-address, max_connections, and innodb_buffer_pool_size based on your requirements.
    • Create a Database and User:
      Access the MySQL/MariaDB shell:

      <code>sudo mysql # For MySQL
      sudo mysql # For MariaDB</code>
      Copy after login

      Create a database and user:

      <code>CREATE DATABASE your_database;
      CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password';
      GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'localhost';
      FLUSH PRIVILEGES;</code>
      Copy after login

What are the system requirements for installing MySQL/MariaDB on CentOS?

The system requirements for installing MySQL/MariaDB on CentOS can vary based on the version and intended usage, but here are the general minimum requirements:

  • Operating System: CentOS 7 or 8.
  • Processor: 1 GHz or faster.
  • RAM:

    • For small installations, 512 MB of RAM can be sufficient, but 1 GB or more is recommended.
    • For production environments, at least 2 GB of RAM is recommended, with more depending on the workload.
  • Disk Space:

    • MySQL/MariaDB requires at least 1 GB of disk space for the installation. However, additional space is needed for data storage, logs, and backups.
    • For production systems, ensure you have sufficient space for data growth and backups.
  • Network: Internet connectivity is required for installation from repositories and for updates.

These requirements may need to be adjusted based on your specific use case and the scale of your database operations.

How can I secure my MySQL/MariaDB installation on CentOS?

Securing your MySQL/MariaDB installation on CentOS involves several steps:

  1. Run the Security Script:
    Use the mysql_secure_installation script as mentioned earlier. This script helps to:

    • Set a root password.
    • Remove anonymous users.
    • Disallow root login remotely.
    • Remove the test database.
  2. Configure Firewall:
    Ensure your firewall is configured to allow connections to MySQL/MariaDB. For example, to allow connections on the default port 3306:

    <code>sudo firewall-cmd --permanent --add-port=3306/tcp
    sudo firewall-cmd --reload</code>
    Copy after login
  3. Use Strong Passwords:
    Ensure all user accounts have strong, unique passwords. Avoid using default passwords.
  4. Limit User Privileges:
    Only grant the necessary privileges to users. Use the principle of least privilege.
  5. Enable SSL/TLS:
    Configure MySQL/MariaDB to use SSL/TLS for encrypted connections:

    • Edit the configuration file (/etc/my.cnf or /etc/mysql/my.cnf) to include SSL settings.
    • Generate SSL certificates and keys.
    • Restart the MySQL/MariaDB service.
  6. Regular Updates:
    Keep MySQL/MariaDB and your CentOS system updated with the latest security patches.
  7. Audit and Monitor:
    Regularly audit your database for any suspicious activity and monitor logs to detect and respond to potential security issues.

What are the common troubleshooting steps for MySQL/MariaDB on CentOS?

Common troubleshooting steps for MySQL/MariaDB on CentOS include:

  1. Check Service Status:
    Verify if the MySQL/MariaDB service is running:

    <code>sudo systemctl status mysqld # For MySQL
    sudo systemctl status mariadb # For MariaDB</code>
    Copy after login
  2. Examine Log Files:
    Review the log files for error messages. The log files are typically located at:

    <code>/var/log/mysqld.log # For MySQL
    /var/log/mariadb/mariadb.log # For MariaDB</code>
    Copy after login
  3. Check for Disk Space Issues:
    Ensure there is sufficient disk space. Run:

    <code>df -h</code>
    Copy after login

    to check available disk space.

  4. Verify Configuration:
    Review the configuration file (/etc/my.cnf or /etc/mysql/my.cnf) for any incorrect settings.
  5. Test Network Connectivity:
    If you are accessing MySQL/MariaDB remotely, ensure that network connectivity is working and that the firewall is configured correctly.
  6. Check for Corrupt Tables:
    Use MySQL/MariaDB tools to check and repair corrupt tables:

    <code>mysqlcheck -u root -p --auto-repair --check --optimize --all-databases</code>
    Copy after login
  7. Restart the Service:
    Sometimes, simply restarting the service can resolve issues:

    <code>sudo systemctl restart mysqld # For MySQL
    sudo systemctl restart mariadb # For MariaDB</code>
    Copy after login
  8. Consult Documentation:
    Refer to the official MySQL or MariaDB documentation for specific error codes and troubleshooting guides.

By following these steps, you should be able to address most common issues encountered with MySQL/MariaDB on CentOS.

The above is the detailed content of How do I install and configure MySQL/MariaDB on CentOS?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template