To install and configure MySQL/MariaDB on CentOS, follow these steps:
Update System Packages:
First, ensure your CentOS system is up to date. Open a terminal and run:
<code>sudo yum update -y</code>
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>
For MariaDB:
Install MariaDB from the default CentOS repository:
<code>sudo yum install mariadb-server -y</code>
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>
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>
Follow the prompts to set a root password, remove anonymous users, disallow root login remotely, and remove the test database.
Configure MySQL/MariaDB:
/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>
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>
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:
RAM:
Disk Space:
These requirements may need to be adjusted based on your specific use case and the scale of your database operations.
Securing your MySQL/MariaDB installation on CentOS involves several steps:
Run the Security Script:
Use the mysql_secure_installation
script as mentioned earlier. This script helps to:
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>
Enable SSL/TLS:
Configure MySQL/MariaDB to use SSL/TLS for encrypted connections:
/etc/my.cnf
or /etc/mysql/my.cnf
) to include SSL settings.Common troubleshooting steps for MySQL/MariaDB on CentOS include:
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>
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>
Check for Disk Space Issues:
Ensure there is sufficient disk space. Run:
<code>df -h</code>
to check available disk space.
/etc/my.cnf
or /etc/mysql/my.cnf
) for any incorrect settings.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>
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>
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!