MySQL是最流行的开源关系数据库管理系统。
最新版本的 MySQL 数据库服务器 8.0 版可从默认的 CentOS 8 存储库安装。
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#
使用 CentOS 包管理器以 root 身份安装 MySQL 8.0 服务器或具有 sudo 权限的用户
:
sudo dnf install @mysql
The @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#
Run the mysql_secure_installation
执行一些与安全相关的操作并设置 MySQL root 密码的脚本:
sudo mysql_secure_installation
系统会要求您配置验证密码插件,用于测试MySQL用户密码的强度,提高安全性。密码验证策略分为低、中、强三个级别。按ENTER
如果您不想设置验证密码插件。
在下一个提示中,系统将要求您为 MySQL root 用户设置密码。执行此操作后,脚本还会要求您删除匿名用户、限制 root 用户对本地计算机的访问,并删除测试数据库。您应该对所有问题回答“Y”(是)。
要从命令行与 MySQL 服务器交互,请使用 MySQL 客户端实用程序,该实用程序作为依赖项安装。输入以下命令测试 root 访问权限:
mysql -u root -p
输入根密码当出现提示时,您将看到 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 存储库中包含的 MySQL 8.0 服务器设置为使用旧版本mysql_native_password
身份验证插件,因为 CentOS 8 中的某些客户端工具和库与caching_sha2_password
方法,该方法在上游 MySQL 8.0 版本中设置为默认值。
mysql_native_password
方法应该适用于大多数设置。但是,如果您想将默认身份验证插件更改为caching_sha2_password
速度更快且安全性更好,请打开以下配置文件:
sudo vim /etc/my.cnf.d/mysql-default-authentication-plugin.cnf
改变值default_authentication_plugin
to 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 并启动创建新的数据库和用户
.
如果您有任何问题或反馈,请随时发表评论。