65.9K
CodeProject 正在变化。 阅读更多。
Home

如何在 CentOS 上安装 MySQL。

starIconstarIconstarIconstarIconstarIcon

5.00/5 (2投票s)

2022 年 2 月 3 日

CPOL

4分钟阅读

viewsIcon

8211

在 CentOS 上安装 MySQL 的分步指南。

本教程/文章的灵感来自 Mark Drake(来自 DigitalOcean.com)(更新于 2020 年 3 月 19 日),原始链接为 https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-centos-8

我已获得原作者的许可发布他的文章。

引言

MySQL 是一个开源数据库管理系统,通常作为流行的 LEMP(Linux、Nginx、MySQL/MariaDB、PHP/Python/Perl)堆栈的一部分安装。它实现了 关系模型结构化查询语言(SQL)来管理和查询数据。

本教程将介绍如何在 CentOS 8 服务器上安装 MySQL 8 版本。

必备组件

要完成本教程,您需要一台运行 CentOS 8 的服务器。该服务器应有一个具有管理权限的非 root 用户,并配置了使用 firewalld 的防火墙。要进行设置,请参阅我们的 CentOS 8 初始服务器设置指南

第一步 - 安装 MySQL

在 CentOS 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.servicesystemd 服务运行。为了使用 MySQL,您需要使用 systemctl 命令启动它

sudo systemctl start mysqld.service

要检查服务是否正常运行,请运行以下命令。请注意,对于许多 systemctl 命令——包括 start 和此处显示的 status——您不需要在服务名后包含 .service

sudo systemctl status mysqld

如果 MySQL 成功启动,输出将显示 MySQL 服务正在运行(active)

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 cent-mysql-3 systemd[1]: Starting MySQL 8.0 database server...
Mar 12 14:07:32 cent-mysql-3 mysql-prepare-db-dir[15639]: Initializing MySQL database
Mar 12 14:07:41 cent-mysql-3 systemd[1]: Started MySQL 8.0 database server.

接下来,使用以下命令设置 MySQL 在服务器启动时自动启动

sudo systemctl enable mysqld

注意:如果您想更改此行为并禁用 MySQL 开机自启,可以运行以下命令:

sudo systemctl disable mysqld

MySQL 现在已在您的服务器上安装、运行并启用。接下来,我们将介绍如何使用 MySQL 实例预装的 shell 脚本来加固数据库的安全性。

第二步 - 加固 MySQL

MySQL 包含一个安全脚本,允许您更改一些默认配置选项以提高 MySQL 的安全性。

要使用此安全脚本,请运行以下命令

sudo mysql_secure_installation

这将引导您完成一系列提示,询问您是否要对 MySQL 安装的安全选项进行某些更改。第一个提示将询问您是否要设置“密码验证插件”,您可以使用它来测试 MySQL 密码的强度。

如果您选择设置“密码验证插件”,脚本将要求您选择一个密码验证级别。最强的级别——通过输入 2 选择——将要求您的密码至少八个字符长,并包含大小写字母、数字和特殊字符的组合

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 用户的密码。输入并确认您选择的安全密码

Output
Please set the password for root here.

New password: 

Re-enter new password: 

如果您使用了“密码验证插件”,您将收到关于新密码强度反馈。然后脚本将询问您是否要继续使用刚刚输入的密码,还是输入一个新密码。假设您对刚输入的密码强度满意,请输入 Y 继续脚本

Output
Estimated 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 立即遵守您所做的更改。

至此,您已在 CentOS 8 服务器上安装并加固了 MySQL。作为最后一步,我们将测试数据库是否可访问并且按预期工作。

第三步 - 测试 MySQL

您可以通过 mysqladmin 工具进行连接来验证您的安装并获取相关信息。mysqladmin 是一个允许您运行管理命令的客户端。使用以下命令连接到 MySQL(作为 root 用户 -u root),提示输入密码(-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>

在那里,您可以开始使用您的 MySQL 安装来创建和加载数据库并开始运行查询。

结论

通过遵循本教程,您已在 CentOS 8 服务器上安装并加固了 MySQL。接下来,您可以安装 Nginx 和 PHP,以便在服务器上拥有一个功能齐全的 LEMP 堆栈

为了解更多关于使用 MySQL 的信息,我们鼓励您查阅 官方文档

历史

  • 2022 年 2 月 3 日:初始版本
© . All rights reserved.