MySQL 是热门的开源关系数据库(RDBMS)由 Oracle 开发和维护。它提供 SQL(结构化查询语言)语法,用于小型和大规模企业处理数据库。
在这篇文章中,我们将解释如何在 RHEL 9 或 Rocky Linux 9 上安装 MySQL 数据库服务器。我们将介绍 MySQL 8.0 和最新版本的 MySQL 8.3.0 的安装步骤。
1. 在 RHEL 9 / Rocky Linux 9 上安装 MySQL
在 RHEL 9 / Rocky 9 上,MySQL 版本 8 可从 AppStream 获得存储库,先更新系统。
$ sudo dnf update
更新后,继续安装 mysql-server 包,如下所示。
$ sudo dnf install mysql-server -y
安装完成后,运行以下命令检查已安装的版本
$ mysql --version
安装MySQL 8.3.0
安装最新版本的 MySQL 需要下载 RPM 包,转到 MySQL Community Downloads 页面并选择 8.3 版本,如图所示。
确保点击第一个选项上的“Download”,这将以 tarball 格式下载 MySQL 包。
在您的终端上,使用 wget 命令使用您复制的链接下载 RPM 包。
$ wget https://dev.mysql.com/get/Downloads/MySQL-8.3/mysql-8.3.0-1.el9.x86_64.rpm-bundle.tar
下载后,使用 tar 命令提取 tarball 文件
$ tar -xvf mysql*.el9.x86_64.rpm-bundle.tar
接下来,运行下面的命令安装 MySQL 8.3
$ sudo dnf localinstall mysql-community-*
出现提示时,按 Y 继续安装。
执行命令验证安装是否成功
$ mysql --version
2. 启动并启用 MySQL Server
此时,MySQL 已完全安装,但尚未运行。需要使用以下命令将其作为 systemd 服务启动。
$ sudo systemctl start mysqld.service
执行命令后,确认服务是否正在运行。
$ sudo systemctl status mysqld.service
此外,也可以使用以下命令设置服务在引导时启动
$ sudo systemctl enable mysqld
3. MySQL 在 RHEL 9 / Rocky Linux 9 安全设置
默认的 MySQL 安全设置是不安全的,并且存在潜在的漏洞,攻击者可以利用这些漏洞来破坏数据库服务器。MySQL 自带 MySQL 安全安装安全脚本,可以帮助修改默认选项并加强数据库服务器。
要运行该脚本,请在 shell 上运行以下命令。
$ sudo mysql_secure_installation
该脚本将引导您完成几个提示,询问您是否要更改默认 MySQL 安装的安全选项。
首先,您需要配置 Validate Password Plugin。这使您可以测试所需的 MySQL 密码强度并提高安全性。该插件检查密码的强度,并允许您配置强密码。
因此,按“Y”来使用插件提供的 VALIDATE PASSWORD 组件。
之后,您将看到三个级别的密码验证策略:LOW,MEDIUM,STRONG,每个级别都有其复杂程度。强烈建议选择 STRONG 级别。这将强制密码具有数字、混合大小写、特殊字符和字典的组合。
接下来,为 MySQL root 用户设置首选密码并确认。系统将询问您是否希望继续使用您提供的密码,按“Y”并按回车键继续。
然后,按“Y”并按 ENTER,剩下的提示设置推荐的安全选项。这将删除匿名用户,禁止远程根登录,删除测试数据库,并重新加载特权表以保存所做的更改。
使用 MySQL 8.3 版本时, 保护策略稍有不同。root 帐户通常会附带一个临时密码。您可以从 MySQL 日志文件中检索它,如下所示。
$ sudo grep 'A temporary password is generated' /var/log/mysqld.log | tail -1
密码将显示如下所示,将其复制粘贴到某个地方。
现在,运行 mysql 安全安装安全脚本。
当提示输入用户 root 时,输入您从前面复制的密码。接下来,通过提供您的首选密码并确认它来设置新密码。脚本将指示密码的强度,在本例中为 100。如果您觉得该名称需要设置不同的密码,请键入“Y”。对于我们的例子,我们很满意,因此我们将输入“N”并按 ENTER。
如前所述,按“Y”并按 ENTER,剩下的设置为推荐的安全选项。
您的 MySQL 数据库服务器现在配置为使用推荐的默认安全选项。要获取关于数据库服务器的更多信息,请使用 mysqladmin 客户端工具,如下所示。
$ mysqladmin -u root -p version
该命令提供包括服务器版本、协议版本、连接类型、正常运行时间和一些查询统计信息。
4. 访问 MySQL Server
使用如下命令登录
$ sudo mysql -u root -p
输入 MySQL root 用户的密码并按 ENTER 键。您将立即进入 MySQL 提示符,如下所示。
接下来,您就可以开始运行 SQL 查询了。例如,要显示现有数据库,请运行查询
SHOW DATABASES;
运行完查询后,通过运行“\q”查询退出。
\q