MySQL 是最流行的开源关系数据库管理系统。

可从默认的CentOS 8存储库安装最新版本的MySQL数据库服务器8.0版。

MySQL 8.0引入了许多新功能和更改,使某些应用程序与此版本不兼容。在选择要安装的MySQL版本之前,请查阅要在CentOS服务器上部署的应用程序的文档。

CentOS 8还提供了MariaDB 10.3,它是MySQL 5.7的“直接替代品”,但有一些限制。如果您的应用程序与MySQL 8.0不兼容,请安装MariaDB 10.3。

在本教程中,我们将向您展示如何在CentOS 8系统上安装和保护MySQL 8.0。

在CentOS 8上安装MySQL 8.0

以root身份或具有sudo特权的用户身份使用CentOS软件包管理器安装MySQL 8.0服务器

sudo dnf install @mysql

@mysql模块安装MySQL及其所有依赖项。

安装完成后,通过运行以下命令来启动MySQL服务并使其在启动时自动启动:

sudo systemctl enable --now mysqld

要检查MySQL服务器是否正在运行,请输入:

sudo systemctl status mysqld
● mysqld.service - MySQL 8.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-10-17 22:09:39 UTC; 15s ago
   ...

保护MySQL

运行mysql_secure_installation脚本,该脚本执行一些与安全性相关的操作并设置MySQL根密码:

sudo mysql_secure_installation

将要求您配置 VALIDATE PASSWORD PLUGIN ,该工具用于测试MySQL用户密码的强度并提高安全性。密码验证策略分为三个级别:低,中和强。如果您不想设置验证密码插件,请按ENTER

在下一个提示符下,将要求您为MySQL根用户设置密码。完成此操作后,脚本还将要求您删除匿名用户,限制root用户对本地计算机的访问,并删除测试数据库。您应该对所有问题回答“是”。

要从命令行与MySQL服务器进行交互,请使用MySQL客户端实用程序,它作为依赖项安装。通过键入以下内容测试根访问权限:

mysql -u root -p

出现提示时输入 root密码,将为您提供MySQL shell,如下所示:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.17 Source distribution

就是这样!您已经在CentOS服务器上安装并保护了MySQL 8.0,并准备使用它。

身份验证方法

由于CentOS 8中的某些客户端工具和库与caching_sha2_password方法不兼容,CentOS 8存储库中包含的MySQL 8.0服务器被设置为使用旧的mysql_native_password身份验证插件。上游MySQL 8.0版本。

mysql_native_password方法适用于大多数设置。但是,如果您想将默认身份验证插件更改为caching_sha2_password,这会更快并提供更好的安全性,请打开以下配置文件:

sudo vim /etc/my.cnf.d/mysql-default-authentication-plugin.cnf

default_authentication_plugin的值更改为caching_sha2_password

[mysqld]
default_authentication_plugin=caching_sha2_password

关闭并保存文件,然后重新启动MySQL服务器以使更改生效:

sudo systemctl restart mysqld

结论

CentOS 8随MySQL 8.0一起分发。安装就像输入dnf install @mysql一样简单。

现在您的MySQL服务器已启动并正在运行,您可以连接到MySQL Shell,然后开始创建新的数据库和用户

如果您有任何问题或反馈,请随时发表评论。

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持