如何在RockyLinux8上安装MySQL
介绍
MySQL 是一个开源数据库管理系统,通常作为流行的 LEMP(Linux、Nginx、MySQL/MariaDB、PHP/Python/Perl)堆栈的一部分安装。 它实现了关系模型和结构化查询语言(SQL)来管理和查询数据。
本教程解释了如何在 Rocky Linux 8 服务器上安装 MySQL 版本 8。
先决条件
要完成本教程,您需要一台运行 Rocky Linux 8 的服务器。 此服务器应具有具有管理权限的非 root 用户和配置为 firewalld
的防火墙。 要进行设置,请参阅我们的 Rocky Linux 8 的初始服务器设置指南。
第 1 步 — 安装 MySQL
在 Rocky Linux 8 上,可以从默认存储库中获得 MySQL 版本 8。
运行以下命令来安装 mysql-server
包及其一些依赖项:
sudo dnf install mysql-server
出现提示时,按 y
,然后按 ENTER
确认您要继续:
Output. . . Install 49 Packages Total download size: 46 M Installed size: 252 M Is this ok [y/N]: y
这样,MySQL 就安装在您的服务器上,但尚未运行。 您刚刚安装的软件包将 MySQL 配置为作为名为 mysqld.service
的 systemd
服务运行。 为了使用 MySQL,您需要使用 systemctl
命令启动它:
sudo systemctl start mysqld.service
要检查服务是否正常运行,请运行以下命令。 请注意,对于许多 systemctl
命令 — 包括 start
和此处所示的 status
— 您不需要在服务名称后包含 .service
:
sudo systemctl status mysqld
如果 MySQL 启动成功,输出将显示 MySQL 服务处于活动状态:
Output● mysqld.service - MySQL 8.0 database server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2020-03-12 14:07:41 UTC; 1min 7s ago Main PID: 15723 (mysqld) Status: "Server is operational" Tasks: 38 (limit: 5056) Memory: 474.2M CGroup: /system.slice/mysqld.service └─15723 /usr/libexec/mysqld --basedir=/usr Mar 12 14:07:32 rocky8-mysql systemd[1]: Starting MySQL 8.0 database server... Mar 12 14:07:32 rocky8-mysql mysql-prepare-db-dir[15639]: Initializing MySQL database Mar 12 14:07:41 rocky8-mysql systemd[1]: Started MySQL 8.0 database server.
接下来,使用以下命令将 MySQL 设置为在服务器启动时启动:
sudo systemctl enable mysqld
注意: 如果你想改变这种行为并禁止 MySQL 在启动时启动,你可以通过运行:
sudo systemctl disable mysqld
MySQL 现在已在您的服务器上安装、运行和启用。 接下来,我们将讨论如何使用预装 MySQL 实例的 shell 脚本来加强数据库的安全性。
第 2 步 — 保护 MySQL
MySQL 包含一个安全脚本,允许您更改一些默认配置选项以提高 MySQL 的安全性。
要使用安全脚本,请运行以下命令:
sudo mysql_secure_installation
这将引导您完成一系列提示,询问您是否要对 MySQL 安装的安全选项进行某些更改。 第一个提示将询问您是否要设置验证密码插件,您可以使用它来测试 MySQL 密码的强度。
如果您选择设置验证密码插件,脚本将要求您选择密码验证级别。 最强级别(通过输入 2
选择)将要求您的密码长度至少为 8 个字符,并且包括大写、小写、数字和特殊字符的混合:
OutputSecuring the MySQL server deployment. Connecting to MySQL using a blank password. VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD component? Press y|Y for Yes, any other key for No: Y There are three levels of password validation policy: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
无论您是否选择设置验证密码插件,下一个提示都是为 MySQL root 用户设置密码。 输入并确认您选择的安全密码:
OutputPlease set the password for root here. New password: Re-enter new password:
如果您使用了验证密码插件,您将收到有关新密码强度的反馈。 然后脚本将询问您是要继续使用刚刚输入的密码还是要输入新密码。 假设您对刚刚输入的密码强度感到满意,请输入 Y
继续执行脚本:
OutputEstimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
之后,您可以按 Y
然后按 ENTER
接受所有后续问题的默认值。 这将删除一些匿名用户和测试数据库,禁用远程 root 登录,并加载这些新规则,以便 MySQL 立即尊重您所做的更改。
至此,您已经在 Rocky Linux 8 服务器上安装并保护了 MySQL。 作为最后一步,我们将测试数据库是否可以访问并按预期工作。
第三步——测试 MySQL
您可以通过连接 mysqladmin
工具(一个允许您运行管理命令的客户端)来验证您的安装并获取有关它的信息。 使用以下命令以 root (-u root
) 身份连接到 MySQL,提示输入密码 (-p
),并返回安装的版本:
mysqladmin -u root -p version
您将看到与此类似的输出:
输出
mysqladmin Ver 8.0.17 for Linux on x86_64 (Source distribution) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Server version 8.0.17 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 2 hours 52 min 37 sec Threads: 2 Questions: 20 Slow queries: 0 Opens: 131 Flush tables: 3 Open tables: 48 Queries per second avg: 0.001
这表明您的安装成功。
如果您想连接到 MySQL 并开始向其中添加数据,请运行以下命令:
mysql -u root -p
与之前的 mysqladmin
命令一样,此命令包含 -u
选项,它允许您指定要连接的用户(在本例中为 root),和 -p
选项,它告诉命令提示您输入您在上一步中设置的用户密码。
输入 root MySQL 用户密码后,您将看到 MySQL 提示:
从那里,您可以开始使用 MySQL 安装来创建和加载数据库并开始运行查询。
结论
按照本教程,您已经在 Rocky Linux 8 服务器上安装并保护了 MySQL。 从这里,您可以安装 Nginx 和 PHP,以便在您的服务器上拥有一个完全可操作的 LEMP 堆栈。
要了解有关使用 MySQL 的更多信息,我们鼓励您查看 官方文档 。