介绍
MySQL是一个开源数据库管理系统,通常安装作为流行的 LEMP(Linux, Nginx, MySQL/MariaDB,PHP/Python/Perl)堆栈的一部分。
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。
前提条件
要遵循本教程,您将需要:
- CentOS 7 具有
sudo
特权的非根用户,您可以在 CentOS 7 初始服务器设置指南中了解有关如何设置具有这些特权的用户的更多信息。
步骤1:安装MySQL
正如介绍中提到的,安装MySQL的Yum命令实际上安装了MariaDB,要安装MySQL,我们需要访问提供MySQL包的MySQL社区Yum Repository(LINK0)。
在 Web 浏览器中,访问:
1https://dev.mysql.com/downloads/repo/yum/
请注意,显著的下载链接不会直接导致文件。相反,它们会导致下一个页面,您被邀请登录或注册一个帐户. 如果您不希望创建一个帐户,您可以找到文本不谢谢,只需开始下载
,然后右键单击并复制链接的位置,或者您可以在下面的命令中编辑版本号。
查找所需的版本,并根据需要在下面的链接中更新:
1curl -sSLO https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
一旦保存了 rpm 文件,我们将通过运行md5sum
来验证下载的完整性,并将其与网站上列出的相应 MD5 值进行比较:
1md5sum mysql80-community-release-el7-5.noarch.rpm
1[secondary_label Output]
2e2bd920ba15cd3d651c1547661c60c7c mysql80-community-release-el7-5.noarch.rpm
将此输出与网站上的相应 MD5 值进行比较:
现在我们已经验证了该文件没有被破坏或更改,我们将安装该包:
1sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm
这增加了两个新的MySQL yum存储库,我们现在可以使用它们来安装MySQL服务器:
1sudo yum install mysql-server
按y
来确认你想继续. 因为我们刚刚添加了包,我们也将被要求接受它的 GPG 密钥。
第2步:开始思维
我们将用以下命令启动 DAEMON:
1sudo systemctl start mysqld
「systemctl」並不顯示所有服務管理指令的結果,所以要確定我們成功,我們會使用以下命令:
1sudo systemctl status mysqld
如果MySQL成功启动,输出应该包含活跃:活跃(运行)
,最后一行应该看起来像:
1Dec 01 19:02:20 centos-512mb-sfo2-02 systemd[1]: Started MySQL Server.
<$>[注]
注: MySQL在安装时会自动启动启动。您可以通过sudo systemctl disable mysqld
<$>`更改默认行为。
在安装过程中,为 MySQL 根用户生成一个临时密码,用这个命令在 mysqld.log
中找到它:
1sudo grep 'temporary password' /var/log/mysqld.log
1[secondary_label Output]
22022-01-24T19:54:46.313728Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: mqRfBU_3Xk>r
记住密码,你将需要在下一步,以确保安装和你将被迫更改它. 默认密码政策需要12个字符,至少有一个上方字母,一个下方字母,一个数字和一个特殊字符。
步骤三:配置MySQL
MySQL 包含一个安全脚本来更改一些不那么安全的默认选项,例如远程 root 登录和样本用户。
使用此命令运行安全脚本。
1sudo mysql_secure_installation
这将提示你默认的根密码. 一旦你输入它,你将被要求改变它。
1[secondary_label Output]
2The existing password for the user account root has expired. Please set a new password.
3
4New password:
输入一个新的 12 个字符密码,其中包含至少一个上方字母,一个下方字母,一个数字和一个特殊字符。
您将收到关于新密码的强度的反馈,然后您将立即被要求再次更改密码。
1[secondary_label Output]
2Estimated strength of the password: 100
3Change the password for root ? (Press y|Y for Yes, any other key for No) :
在我们拒绝再次更改密码的提示后,我们将按Y
,然后按ENTER
,以删除匿名用户,禁用远程根登录,删除测试数据库和访问它,并重新加载特权表。
现在我们已经确保了安装,让我们测试它。
步骤4:测试MySQL
我们可以通过连接到mysqladmin
工具来验证我们的安装并获取有关信息,该客户端允许您运行管理命令. 使用以下命令连接到 MySQL 作为 root (-u root
),请求密码(-p
),然后返回版本。
1mysqladmin -u root -p version
你应该看到类似于此的输出:
1[label Output]
2mysqladmin Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)
3Copyright (c) 2000, 2022, Oracle and/or its affiliates.
4
5Oracle is a registered trademark of Oracle Corporation and/or its
6affiliates. Other names may be trademarks of their respective
7owners.
8
9Server version 8.0.28
10Protocol version 10
11Connection Localhost via UNIX socket
12UNIX socket /var/lib/mysql/mysql.sock
13Uptime: 3 min 2 sec
14
15Threads: 2 Questions: 14 Slow queries: 0 Opens: 133 Flush tables: 3 Open tables: 49 Queries per second avg: 0.076
这表明您的安装成功。
结论
在本教程中,我们已在 CentOS 7 服务器上安装和保护 MySQL. 要了解有关使用 MySQL 的更多信息,本指南(https://andsky.com/tech/tutorials/a-basic-mysql-tutorial)可以帮助您。