Skip to the content.

CentOS 9 实战(12):数据库服务配置之 MySQL 与 MariaDB

欢迎来到《CentOS 9 实战速查手册》专栏的第 12 篇文章。在这里,我们将探讨 CentOS 9 中的 数据库服务配置,重点介绍 MariaDBMySQL 的安装与配置。这两种数据库在现代应用开发中占据重要地位,通过学习它们的配置,你将能够为你的应用程序提供高效、可靠的数据库服务。

1. MariaDB 与 MySQL 对比

在选择数据库时,了解 MariaDBMySQL 的特点、优势和劣势是非常重要的。

1.1 MariaDB

1.2 MySQL

1.3 选择建议

在选择 MariaDB 和 MySQL 时,可以根据以下建议:

2. 安装 MySQL

2.1 配置 MySQL YUM 仓库

首先,需要配置 MySQL YUM 仓库:

sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm

2.2 安装 MySQL

然后,安装 MySQL:

sudo dnf install -y mysql-server --nogpgcheck

2.3 启动 MySQL 服务

安装完成后,启动 MySQL 服务并设置为开机自启:

sudo systemctl start mysqld
sudo systemctl enable mysqld

2.4 获取初始 root 密码

MySQL 安装完成后,会生成一个初始 root 密码,可以通过以下命令查看:

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

2.5 配置 MySQL

使用初始密码登录 MySQL 并进行配置:

mysql_secure_installation

按照提示设置新密码,并进行安全配置。

2.6 创建远程用户

登录 MySQL 并创建远程用户:

mysql -u root -p

# 在 MySQL 控制台中执行
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

2.7 配置防火墙

允许 MySQL 服务通过防火墙:

sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

2.8 配置 MySQL 允许远程连接

编辑 MySQL 配置文件 /etc/my.cnf,添加或修改以下内容:

[mysqld]
bind-address=0.0.0.0

2.9 重启 MySQL 服务

配置完成后,重启 MySQL 服务:

sudo systemctl restart mysqld

2.10 远程连接测试

在本地或其他服务器上使用 MySQL 客户端工具连接 MySQL 服务器:

mysql -u remote_user -p -h your_server_ip

3. 安装和配置 phpMyAdmin

3.1 安装 phpMyAdmin

首先,在服务器上安装 phpMyAdmin:

sudo dnf install -y epel-release
sudo dnf install -y phpmyadmin

3.2 配置 Nginx

编辑 Nginx 配置文件 /etc/nginx/conf.d/default.conf

server {
    listen       80;
    server_name  your_domain;

    root   /usr/share/nginx/html;
    index  index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location /phpmyadmin {
        alias /usr/share/phpMyAdmin;
        index index.php;
        
        location ~ ^/phpmyadmin/(.+\.php)$ {
            try_files $uri =404;
            fastcgi_pass unix:/run/php-fpm/www.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $request_filename;
            include fastcgi_params;
        }

        location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt|svg|ttf|woff|woff2))$ {
            alias /usr/share/phpMyAdmin/$1;
            access_log off;
            log_not_found off;
            expires max;
        }
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

3.3 检查 PHP-FPM 配置

确保 /etc/php-fpm.d/www.conf 文件中 usergroup 设置为 nginx

; Unix user/group of processes
user = nginx
group = nginx

3.4 修改会话目录权限

确保会话目录 /var/lib/php/session 具有正确的权限:

sudo chown -R nginx:nginx /var/lib/php/session
sudo chmod -R 700 /var/lib/php/session

3.5 重启服务

重新加载 Nginx 配置并重启相关服务:

sudo nginx -t
sudo systemctl restart nginx
sudo systemctl restart php-fpm

3.6 验证配置

创建一个 PHP 测试文件来验证 PHP 和 Nginx 配置是否正确:

echo "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/info.php

在浏览器中访问 http://your_domain/info.php,确保 PHP 信息页面正常显示。

3.7 验证 phpMyAdmin

在浏览器中访问 http://your_domain/phpmyadmin,确保可以正确加载 phpMyAdmin 页面。

4. 安装 MariaDB

4.1 配置 MariaDB YUM 仓库

首先,需要配置 MariaDB YUM 仓库:

sudo dnf install -y https://downloads.mariadb.com/MariaDB/mariadb_repo_setup

4.2 安装 MariaDB

然后,安装 MariaDB:

sudo dnf install -y mariadb-server

4.3 启动 MariaDB 服务

安装完成后,启动 MariaDB 服务并设置为开机自启:

sudo systemctl start mariadb
sudo systemctl enable mariadb

4.4 配置 MariaDB

使用以下命令进行安全配置:

mysql_secure_installation

按照提示设置新密码,并进行安全配置。

4.5 创建远程用户

登录 MariaDB 并创建远程用户:

mysql -u root -p

# 在 MariaDB 控制台中执行
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

4.6 配置防火墙

允许 MariaDB 服务通过防火墙:

sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

4.7 配置 MariaDB 允许远程连接

编辑 MariaDB 配置文件 /etc/my.cnf.d/mariadb-server.cnf,添加或修改以下内容:

[mysqld]
bind-address=0.0.0.0

4.8 重启 MariaDB 服务

配置完成后,重启 MariaDB 服务:

sudo systemctl restart mariadb

4.9 远程连接测试

在本地或其他服务器

上使用 MySQL 客户端工具连接 MariaDB 服务器:

mysql -u remote_user -p -h your_server_ip

5. 总结

在这篇文章中,我们详细介绍了 MariaDBMySQL 的安装与配置。我们对比了这两种数据库的特点和选择建议,随后分别介绍了 MySQLMariaDB 的安装、配置及远程连接设置。此外,还介绍了如何在 Nginx 服务器上安装和配置 phpMyAdmin,方便管理和操作数据库。在接下来的文章中,我们将深入探讨 FTP 与 SFTP 服务配置,敬请期待。