2.5.1 使用 MySQL Yum 存储库在 Linux 上安装 MySQL

适用于 Oracle Linux,Red Hat Enterprise Linux 和 CentOS 的MySQL Yum 存储库提供了 RPM 软件包,用于安装 MySQL 服务器,Client 端,MySQL Workbench,MySQLUtil,MySQLRouter,MySQL Shell,连接器/ ODBC,连接器/ Python 等(并非所有软件包都是适用于所有发行版;有关详细信息,请参见使用 Yum 安装其他 MySQL 产品和组件

开始之前

作为一种流行的开源软件,MySQL 以其原始或重新包装的形式被广泛安装在来自各种来源的许多系统上,这些来源包括不同的软件下载站点,软件存储库等。以下说明假定您尚未使用第三方分发的 RPM 软件包将 MySQL 安装在您的系统上;如果不是这种情况,请遵循第 2.11.5 节“使用 MySQL Yum 存储库升级 MySQL”第 2.5.2 节“使用 MySQL Yum 存储库替换 MySQL 的第三方分发”中给出的说明。

重新安装 MySQL 的步骤

请按照以下步骤使用 MySQL Yum 存储库安装最新的 GA 版本的 MySQL:

添加 MySQL Yum 存储库

首先,将 MySQL Yum 存储库添加到系统的存储库列 table 中。这是一次性操作,可以通过安装 MySQL 提供的 RPM 来执行。跟着这些步骤:

  • 转到“ MySQL 开发人员专区”中的“下载 MySQL Yum 存储库”页面(https://dev.mysql.com/downloads/repo/yum/)。

    • 选择并下载适用于您平台的发行包。

    • 使用以下命令安装下载的发行包,将* platform-and-version-specific-package-name *替换为下载的 RPM 包的名称:

shell> sudo yum localinstall platform-and-version-specific-package-name.rpm

对于基于 EL6 的系统,命令的形式为:

shell> sudo yum localinstall mysql57-community-release-el6-{version-number}.noarch.rpm

对于基于 EL7 的系统:

shell> sudo yum localinstall mysql57-community-release-el7-{version-number}.noarch.rpm

对于基于 EL8 的系统:

shell> sudo yum localinstall mysql57-community-release-el8-{version-number}.noarch.rpm

For Fedora:

MySQL 5.7 不支持 Fedora。在 MySQL 5.7.30 中删除了该支持。有关详细信息,请参见MySQL 产品支持 EOL 公告

安装命令将 MySQL Yum 存储库添加到系统的存储库列 table 中,并下载 GnuPG 密钥以检查软件包的完整性。有关 GnuPG 密钥检查的详细信息,请参见第 2.1.3.2 节“使用 GnuPG 进行签名检查”

您可以通过以下命令检查是否已成功添加 MySQL Yum 存储库:

shell> yum repolist enabled | grep "mysql.*-community.*"

Note

在系统上启用 MySQL Yum 存储库后,通过 yum update **命令在系统范围内进行的任何更新都将升级系统上的 MySQL 软件包,并替换所有本机第三方软件包(如果 Yum 在 os 中找到了它们的替代品)。 MySQL Yum 存储库;请参阅第 2.11.5 节“使用 MySQL Yum 存储库升级 MySQL”,有关该功能对您的系统可能产生的影响的讨论,请参见升级共享 Client 端库

选择发行系列

使用 MySQL Yum 存储库时,默认情况下会选择最新的 GA 系列(当前为 MySQL 5.7)进行安装。如果您要这样做,则可以跳至下一步Installing MySQL

在 MySQL Yum 存储库中,不同版本的 MySQL Community Server 托管在不同的子存储库中。默认情况下,默认启用最新 GA 系列(当前为 MySQL 5.7)的子存储库,而所有其他系列(例如,MySQL 5.6 系列)的子存储库均被禁用。使用此命令查看 MySQL Yum 存储库中的所有子存储库,并查看启用或禁用了哪些子存储库:

shell> yum repolist all | grep mysql

要安装最新 GA 系列的最新版本,无需进行配置。要安装除最新 GA 系列以外的特定系列的最新版本,请在运行安装命令之前禁用最新 GA 系列的子存储库并启用特定系列的子存储库。如果您的平台支持 yum-config-manager ,则可以通过发出以下命令来实现,这些命令将禁用 5.7 系列的子存储库并启用 5.6 系列的子存储库:

shell> sudo yum-config-manager --disable mysql57-community
shell> sudo yum-config-manager --enable mysql56-community

对于 Fedora 平台:

shell> sudo dnf config-manager --disable mysql57-community
shell> sudo dnf config-manager --enable mysql56-community

除了使用 yum-config-manager 或 dnf config-manager 命令之外,您还可以通过手动编辑/etc/yum.repos.d/mysql-community.repo文件来选择发行系列。这是文件中发行系列子存储库的典型条目:

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

找到要配置的子存储库的条目,然后编辑enabled选项。指定enabled=0禁用子存储库,或指定enabled=1启用子存储库。例如,要安装 MySQL 5.6,请确保对于 MySQL 5.7 的上述子存储库条目为enabled=0,对于 5.6 系列的条目为enabled=1

# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

您应该随时只为一个发行系列启用子存储库。如果启用了多个发行系列的子存储库,那么 Yum 将使用最新的系列。

通过运行以下命令并检查其输出,验证是否已启用和禁用正确的子存储库:

shell> yum repolist enabled | grep mysql

禁用默认的 MySQL 模块

(仅 EL8 系统)基于 RHEL8 和 Oracle Linux 8 的基于 EL8 的系统包括默认情况下启用的 MySQL 模块。除非禁用此模块,否则它将屏蔽 MySQL 存储库提供的软件包。要禁用包含的模块并使 MySQL 存储库软件包可见,请使用以下命令(对于启用了 dnf 的系统,请将该命令中的 yum 替换为 dnf ):

shell> sudo yum module disable mysql

Installing MySQL

通过以下命令安装 MySQL:

shell> sudo yum install mysql-community-server

这将安装 MySQL 服务器的软件包(mysql-community-server)以及运行服务器所需的组件的软件包,包括 Client 端的软件包(mysql-community-client),Client 端和服务器的常见错误消息和字符集(mysql-community-common)以及共享 Client 端库(mysql-community-libs)。

启动 MySQL 服务器

使用以下命令启动 MySQL 服务器:

shell> sudo service mysqld start
Starting mysqld:[ OK ]

您可以使用以下命令检查 MySQL 服务器的状态:

shell> sudo service mysqld status
mysqld (pid 3066) is running.

假设服务器的数据目录为空,则在服务器首次启动时,会发生以下情况:

  • 服务器已初始化。

  • SSL 证书和密钥文件在数据目录中生成。

  • validate_password已安装并启用。

  • 创建了一个超级用户帐户'root'@'localhost。设置超级用户的密码并将其存储在错误日志文件中。要显示它,请使用以下命令:

shell> sudo grep 'temporary password' /var/log/mysqld.log

通过使用生成的临时密码登录并尽快为超级用户帐户设置自定义密码,以更改 root 密码:

shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

Note

默认情况下已安装validate_passwordvalidate_password实施的默认密码策略要求密码至少包含一个大写字母,一个小写字母,一位数字和一个特殊字符,并且密码总长度至少为 8 个字符。

有关安装后过程的更多信息,请参见第 2.10 节“安装后的设置和测试”

Note

*基于 EL7 的平台的兼容性信息:*平台的本机软件存储库中的以下 RPM 软件包与安装 MySQL 服务器的 MySQL Yum 存储库中的软件包不兼容。使用 MySQL Yum 存储库安装 MySQL 后,将无法安装这些软件包(反之亦然)。

  • akonadi-mysql

使用 Yum 安装其他 MySQL 产品和组件

您可以使用 Yum 安装和 ManagementMySQL 的各个组件。其中一些组件托管在 MySQL Yum 存储库的子存储库中:例如,MySQL 连接器位于 MySQL 连接器社区子存储库中,而 MySQL 工作台位于 MySQL 工具社区中。您可以使用以下命令从 MySQL Yum 存储库列出适用于您的平台的所有 MySQL 组件的软件包:

shell> sudo yum --disablerepo=\* --enablerepo='mysql*-community*' list available

使用以下命令安装您选择的任何软件包,并用软件包名称替换* package-name *:

shell> sudo yum install package-name

例如,要在 Fedora 上安装 MySQL Workbench:

shell> sudo dnf install mysql-workbench-community

要安装共享 Client 端库:

shell> sudo yum install mysql-community-libs

使用 Yum 更新 MySQL

除了安装,您还可以使用 MySQL Yum 存储库对 MySQL 产品和组件执行更新。有关详情,请参见第 2.11.5 节“使用 MySQL Yum 存储库升级 MySQL”