文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  使用 MySQL Yum 存储库在 Linux 上安装 MySQL

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

用于 Oracle Linux、Red Hat Enterprise Linux、CentOS 和 Fedora 的 MySQL Yum 存储库 提供用于安装 MySQL 服务器、客户端、MySQL Workbench、MySQL 实用程序、MySQL 路由器、MySQL Shell、Connector/ODBC、Connector/Python 等等的 RPM 包(并非所有包都适用于所有发行版;有关详细信息,请参阅 使用 Yum 安装其他 MySQL 产品和组件)。

开始之前

作为一种流行的开源软件,MySQL,无论是其原始形式还是重新打包形式,都广泛安装在来自各种来源的许多系统上,包括不同的软件下载网站、软件存储库等等。以下说明假设 MySQL 尚未使用第三方分发的 RPM 包安装在您的系统上;如果并非如此,请按照 替换原生第三方 MySQL 发行版 中给出的说明操作。

注意

存储库设置 RPM 文件名以 mysql84 开头,它描述了默认情况下启用安装的 MySQL 系列。在本例中,MySQL 8.4 LTS 子存储库默认情况下已启用。它还包含其他子存储库版本,例如 MySQL 8.0 和 MySQL 创新系列,它们默认情况下处于禁用状态。选择创新系列安装 MySQL 9.0。

全新安装 MySQL 的步骤

按照以下步骤选择和安装最新的 MySQL 产品

  1. 添加 MySQL Yum 存储库

    将 MySQL Yum 存储库添加到系统的存储库列表中。这通常是一次性操作,通过安装 MySQL 提供的 RPM 完成。请按照以下步骤操作

    1. 从 MySQL Yum 存储库页面 (https://dev.mysqlserver.cn/downloads/repo/yum/)(在 MySQL 开发者专区)下载它。

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

    3. 安装下载的发行包。包文件格式为

      mysql84-community-release-{platform}-{version-number}.noarch.rpm
      • mysql84:指示默认情况下启用的 MySQL 版本。在本例中,MySQL 8.4 默认情况下已启用,MySQL 8.0 和 MySQL 创新系列可用,但默认情况下处于禁用状态。

      • {platform}:平台代码,例如 el7、el8、el9、fc38、fc39 或 fc40。'el' 代表 Enterprise Linux,'fc' 代表 Fedora,它以平台的基础版本号结尾。

      • {version-number}:MySQL 存储库配置 RPM 的版本,因为它们偶尔会收到更新。

      安装您为系统下载的 RPM,例如

      $> sudo yum localinstall mysql84-community-release-{platform}-{version-number}.noarch.rpm

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

      您可以通过以下命令检查 MySQL Yum 存储库是否已成功添加并启用(对于启用 dnf 的系统,请在命令中将 yum 替换为 dnf

      $> yum repolist enabled | grep mysql.*-community

      示例输出

      mysql-8.4-lts-community               MySQL 8.4 LTS Community Server
      mysql-tools-8.4-lts-community            MySQL Tools 8.4 LTS Community

      这也表明最新的 LTS MySQL 版本默认情况下已启用。下面介绍了选择不同发行版系列的方法,例如创新轨道(目前是 9.0)或之前的系列(例如 MySQL 8.0)。

    注意

    在系统上启用 MySQL Yum 存储库后,任何由 yum update 命令(或启用 dnf 的系统的 dnf upgrade)执行的系统范围更新都会升级系统上的 MySQL 包,并替换任何原生第三方包(如果 Yum 在 MySQL Yum 存储库中找到它们的替换项);有关此操作对系统的一些可能影响的讨论,请参阅 第 3.8 节,“使用 MySQL Yum 存储库升级 MySQL”,请参阅 升级共享客户端库

  2. 选择发行版系列

    使用 MySQL Yum 存储库时,默认情况下会选择最新的错误修复系列(目前是 MySQL 8.4)进行安装。如果您想要此选项,您可以跳过到下一步,安装 MySQL

    在 MySQL Yum 存储库中,每个 MySQL Community Server 发行版系列都托管在不同的子存储库中。最新的 LTS 系列(目前是 MySQL 8.4)的子存储库默认情况下已启用,而所有其他系列(例如 MySQL 8.0 和 MySQL 创新系列)的子存储库默认情况下处于禁用状态。使用此命令查看所有可用的与 MySQL 相关的子存储库(对于启用 dnf 的系统,请在命令中将 yum 替换为 dnf

    $> yum repolist all | grep mysql

    示例输出

    mysql-connectors-community                 MySQL Connectors Community   enabled
    mysql-tools-8.4-lts-community               MySQL Tools 8.4 LTS Community        enabled
    mysql-tools-community                      MySQL Tools Community        disabled
    mysql-tools-innovation-community           MySQL Tools Innovation Commu disabled
    mysql-innovation-community                 MySQL Innovation Release Com disabled
    mysql-8.4-lts-community                          MySQL 8.4 Community LTS Server   enabled
    mysql-8.4-lts-community-debuginfo                MySQL 8.4 Community LTS Server - disabled
    mysql-8.4-lts-community-source                   MySQL 8.4 Community LTS Server - disabled
    mysql80-community                        MySQL 8.0 Community Server - disabled
    mysql80-community-debuginfo              MySQL 8.0 Community Server - disabled
    mysql80-community-source                 MySQL 8.0 Community Server - disabled

    要安装除最新的 LTS 系列之外的特定系列的最新版本,请在运行安装命令之前,禁用最新的 LTS 系列的错误修复子存储库,并启用特定系列的子存储库。如果您的平台支持 yum-config-managerdnf config-manager 命令,您可以通过发出以下命令来禁用 8.4 系列的子存储库,并启用 8.0 系列的子存储库

    $> sudo yum-config-manager --disable mysql-8.4-lts-community
    $> sudo yum-config-manager --enable  mysql80-community

    对于启用 dnf 的平台

    $> sudo dnf config-manager --disable mysql-8.4-lts-community
    $> sudo dnf config-manager --enable mysql80-community

    您可以通过手动编辑 /etc/yum.repos.d/mysql-community.repo 文件来切换 enabled 选项,而不是使用 config-manager 命令。例如,EL8 的典型默认条目

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

    找到您要配置的子存储库的条目,并编辑 enabled 选项。指定 enabled=0 来禁用子存储库或 enabled=1 来启用子存储库。例如,要从 MySQL 创新路线安装,请确保 enabled=0 用于 MySQL 8.4 子存储库条目,并且 enabled=1 用于创新条目。

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

    您应该在任何时间只启用一个发布系列的子存储库。

    通过运行以下命令并检查其输出,验证是否启用了正确的子存储库并禁用了其他子存储库(对于支持 dnf 的系统,将命令中的 yum 替换为 dnf)。

    $> yum repolist enabled | grep mysql
  3. 禁用默认的 MySQL 模块

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

    $> sudo yum module disable mysql
  4. 安装 MySQL

    通过以下命令安装 MySQL(对于支持 dnf 的系统,将命令中的 yum 替换为 dnf)。

    $> sudo yum install mysql-community-server

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

  5. 启动 MySQL 服务器

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

    $> systemctl start mysqld

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

    $> systemctl status mysqld

如果操作系统启用了 systemd,则应使用标准的 systemctl(或者,使用参数反转的 service)命令,例如 stopstartstatusrestart 来管理 MySQL 服务器服务。 mysqld 服务默认情况下处于启用状态,并且在系统重启时启动。有关更多信息,请参见 第 2.5.9 节“使用 systemd 管理 MySQL 服务器”

在服务器的初始启动时,如果服务器的数据目录为空,将会发生以下情况。

  • 服务器已初始化。

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

  • validate_password 已安装并启用。

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

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

    尽快更改 root 密码,方法是使用生成的临时密码登录,并为超级用户帐户设置自定义密码。

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

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

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

注意

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

  • akonadi-mysql

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

您可以使用 Yum 来安装和管理 MySQL 的各个组件。这些组件中的一些位于 MySQL Yum 存储库的子存储库中:例如,MySQL 连接器位于 MySQL 连接器社区子存储库中,而 MySQL Workbench 位于 MySQL 工具社区。您可以使用以下命令列出从 MySQL Yum 存储库中可用于您平台的所有 MySQL 组件的软件包(对于支持 dnf 的系统,将命令中的 yum 替换为 dnf)。

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

使用以下命令安装您选择的任何软件包,将 package-name 替换为软件包的名称(对于支持 dnf 的系统,将命令中的 yum 替换为 dnf)。

$> sudo yum install package-name

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

$> sudo dnf install mysql-workbench-community

要安装共享客户端库(对于支持 dnf 的系统,将命令中的 yum 替换为 dnf)。

$> sudo yum install mysql-community-libs

平台特定说明

ARM 支持

ARM 64 位 (aarch64) 在 Oracle Linux 7 上受支持,需要 Oracle Linux 7 软件集合存储库 (ol7_software_collections)。例如,要安装服务器。

$> yum-config-manager --enable ol7_software_collections
$> yum install mysql-community-server

使用 Yum 更新 MySQL

除了安装之外,您还可以使用 MySQL Yum 存储库为 MySQL 产品和组件执行更新。有关详细信息,请参见 第 3.8 节“使用 MySQL Yum 存储库升级 MySQL”

替换原生第三方 MySQL 发行版

如果您已从原生软件存储库(即您自己的 Linux 发行版提供的软件存储库)安装了第三方 MySQL 发行版,请执行以下步骤。

  1. 备份您的数据库

    为避免数据丢失,在尝试使用 MySQL Yum 存储库替换 MySQL 安装之前,始终备份您的数据库。有关如何备份数据库的信息,请参见 第 9 章“备份和恢复”

  2. 添加 MySQL Yum 存储库

    按照 添加 MySQL Yum 存储库 中提供的说明,将 MySQL Yum 存储库添加到系统的存储库列表中。

  3. 通过 Yum 更新或 DNF 升级替换原生第三方发行版

    按照设计,当您在系统上执行 yum update 命令(或对于支持 dnf 的系统,执行 dnf upgrade)或 yum update mysql-server(或对于支持 dnf 的系统,执行 dnf upgrade mysql-server)时,MySQL Yum 存储库将使用来自 MySQL Yum 存储库的最新错误修复版本替换您本地的第三方 MySQL。

使用 Yum 存储库更新 MySQL 后,使用旧版共享客户端库编译的应用程序应继续工作。但是,如果您想重新编译应用程序并将其与更新后的库动态链接,请参见 升级共享客户端库,了解一些特殊注意事项。

注意

对于基于 EL7 的平台: 请参见 适用于基于 EL7 的平台的兼容性信息