介绍
MySQL是一个开源数据库管理系统,通常作为流行的LEMP(Linux、Nginx、MySQL/MariaDB、PHP/Python/Perl)堆栈的一部分安装。它使用关系数据库和SQL(结构化查询语言)来管理其数据。
CentOS 7更倾向于使用MariaDB,这是MySQL的一个分支,由原始的MySQL开发人员管理,并设计为MySQL的替代品。如果在CentOS 7上运行yum install mysql
,实际上安装的是MariaDB而不是MySQL。如果你想知道MySQL与MariaDB的区别,MariaDB通常可以在MySQL的位置无缝运行,所以除非你有一个特定的用例需要MySQL,可以参考在CentOS 7上安装MariaDB的指南。
本教程将解释如何在CentOS 7服务器上安装MySQL版本8。
先决条件
要按照本教程操作,你需要:
- A CentOS 7 with a non-root user with
sudo
privileges. You can learn more about how to set up a user with these privileges in the Initial Server Setup with CentOS 7 guide.
步骤 1 — 安装 MySQL
如介绍所述,使用 Yum 命令安装 MySQL 实际上会安装 MariaDB。要安装 MySQL,我们需要访问MySQL 社区 Yum 软件包库,该库提供 MySQL 的软件包。
在网络浏览器中访问:
https://dev.mysql.com/downloads/repo/yum/
请注意,突出显示的下载链接不直接指向文件。相反,它们指向后续页面,那里您可以选择登录或注册帐户。如果您不想创建帐户,可以找到文本“不,谢谢,直接开始我的下载”,然后右键单击并复制链接位置,或者您可以在下面的命令中编辑版本号。
找到所需版本,并根据需要在下面的链接中更新它:
保存 rpm 文件后,我们将通过运行 md5sum
来验证下载的完整性,并将其与网站上列出的相应 MD5 值进行比较:
Outpute2bd920ba15cd3d651c1547661c60c7c mysql80-community-release-el7-5.noarch.rpm
将此输出与网站上适当的 MD5 值进行比较:
现在我们已经验证了文件未被损坏或更改,我们将安装该软件包:
这将添加两个新的 MySQL yum 软件库,现在我们可以使用它们来安装 MySQL 服务器:
按y
确认您要继续。由于我们刚刚添加了包,我们还将被提示接受其GPG密钥。按y
下载它并完成安装。
步骤2 — 启动MySQL
我们将使用以下命令启动守护进程:
systemctl
不显示所有服务管理命令的结果,为了确保我们成功了,我们将使用以下命令:
如果MySQL成功启动,则输出应包含Active: active (running)
,最后一行应如下所示:
注意:安装MySQL时,它会自动启用在启动时启动的。您可以使用sudo systemctl disable mysqld
更改该默认行为。
在安装过程中,为MySQL根用户生成了临时密码。使用以下命令在mysqld.log
中找到它:
Output2022-01-24T19:54:46.313728Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: mqRfBU_3Xk>r
记下密码,您将在下一步中需要它来保护安装,在那里您将被强制更改密码。默认密码策略要求12个字符,至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符。
步骤 3 — 配置 MySQL
MySQL 包含一个安全脚本,用于更改一些不够安全的默认选项,如远程 root 登录和示例用户。
使用以下命令运行安全脚本。
这将提示您输入默认的 root 密码。一旦输入密码,您将需要立即更改密码。
OutputThe existing password for the user account root has expired. Please set a new password.
New password:
输入一个新的 12 位字符密码,至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符。再次输入以确认。
您将收到有关新密码强度的反馈,然后立即被要求再次更改密码。由于您刚刚更改过密码,您可以自信地选择 否
:
OutputEstimated strength of the password: 100
Change the password for root ? (Press y|Y for Yes, any other key for No) :
当我们拒绝再次更改密码的提示后,我们将按 Y
然后按 ENTER
回答所有后续问题,以删除匿名用户,禁止远程 root 登录,删除测试数据库及其访问权限,并重新加载权限表。
现在我们已经保护了安装,让我们来测试它。
步骤 4 — 测试 MySQL
我们可以通过连接到mysqladmin
工具来验证我们的安装并获取有关它的信息,这是一个允许您运行管理命令的客户端。使用以下命令连接到MySQL作为root(-u root
),提示输入密码(-p
),并返回版本。
您应该看到类似于以下内容的输出:
mysqladmin Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
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.28
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 3 min 2 sec
Threads: 2 Questions: 14 Slow queries: 0 Opens: 133 Flush tables: 3 Open tables: 49 Queries per second avg: 0.076
这表示您的安装已成功。
结论
在本教程中,我们已在CentOS 7服务器上安装并保护了MySQL。要了解更多关于使用MySQL的信息,可以参考这个关于学习更多关于MySQL命令的指南。您也可以考虑实施一些额外的安全措施。
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-centos-7