如何安装MySQL在CentOS 8

MySQL是最流行的开源关系数据库管理系统。可从默认的CentOS 8存储库安装最新版本的MySQL 8.0数据库服务器

5 min read
By myfreax
如何安装MySQL在CentOS 8

MySQL是最流行的开源关系数据库管理系统。可从默认的CentOS 8存储库安装最新版本的MySQL 8.0数据库服务器。

MySQL 8.0引入了许多新功能和更改,使某些应用程序与此版本不兼容。在选择要安装的MySQL版本之前,请确定你的应用程序要使用的版本。

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

在本教程中,我们将向您展示如何在CentOS 8系统上安装和配置MySQL 8.0。包括使用dnf命令安装MySQL,使用systemctl命令重启,启动,关闭以及查看MySQL服务的状态,运行mysql_secure_installation安装脚本设置root用户密码,使用MySQL客户端连接MySQL服务器,更改MySQL身份验证插件。

安装MySQL

请以root或具有sudo权限的用户运行以下dnf命令安装MySQL:

sudo dnf install @mysql

@mysql模块组件已包含MySQL及其所有依赖的软件,例如MySQL客户端。安装完成后,通过键入以下systemctl命令来启动MariaDB服务,并使其能够在启动时自动启动:

sudo systemctl enable --now mysqld

要验证MariaDB服务器正在运行,请键入systemctl命令查看mariadb服务的状态:

sudo systemctl status mysqld

输出应显示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时,MySQL还包含一个名为mysql_secure_installation的脚本,该脚本执行一些与安全性相关的操作,例如设置root密码,配置使用的验证插件,删除示例数据库等。

请以root或具有sudo权限的用户运行mysql_secure_installation脚本:

sudo mysql_secure_installation

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

在下一个提示中,将要求您为MySQL root用户设置密码。完成此操作后,脚本还将提示您删除匿名用户,限制root用户远程访问,并删除测试数据库。您应该对所有问题作出适用于你的配置。

MySQL客户端

在安装MySQL时,也将会安装客户端MySQL,如你需要连接到MySQL。请在终端中运行以下命令连接到MySQL服务器。

以下mysql命令使用root用户连接MySQL服务器,-p选项表示使用密码登录:

mysql -u root -p

出现提示时输入root用户密码,终端不会显示你输入的密码,直接填写然后回车即可。如果你忘记刚设置root密码,可参考我们的教程如何重设MySQL 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方法不兼容。我们可将MySQL 8.0服务器设置为使用mysql_native_password身份验证插件。

将默认身份验证插件更改为mysql_native_password方法适用于大多数设置。但是,caching_sha2_password会提供更好的安全性。具体使用方式你应该在两者之间取得平衡。

如你需要配置MySQL默认的身份验证插件,可以修改/etc/my.cnf.d/mysql-default-authentication-plugin.cnf文件。使用你喜欢的文件编辑器修改文件mysql-default-authentication-plugin.cnf文件,在本教程中我们将使用vim编辑器打开文件mysql-default-authentication-plugin.cnf

请以root或具有sudo权限的用户运行以下vim命令打开文件mysql-default-authentication-plugin.cnf

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

default_authentication_plugin的值更改为mysql_native_password

[mysqld]
default_authentication_plugin=mysql_native_password

保存文件并退出vim编辑器。为了重新加载MySQL的配置文件,我们还需要重启mysqld服务。

请以root或具有sudo权限的用户运行以下systemctl命令重启服务,以使更改生效:

sudo systemctl restart mysqld

结论

CentOS 8随MySQL 8.0一起分发。安装就像输入dnf install @mysql一样简单。现在您的MySQL服务器已启动并正在运行,您可以连接到MySQL Shell,然后开始创建新的数据库和用户

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