文档主页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  使用 MySQL SLES 存储库

2.5.3 使用 MySQL SLES 存储库

MySQL SLES 存储库提供 RPM 包,用于在 SUSE Enterprise Linux Server 上安装和管理 MySQL 服务器、客户端和其他组件。本节包含有关获取和安装这些包的信息。

添加 MySQL SLES 存储库

将官方 MySQL SLES 存储库添加到您的系统存储库列表中,或更新该存储库。

注意

配置文件名的开头部分,例如 mysql84,描述了为安装启用的默认 MySQL 系列。在本例中,MySQL 8.4 LTS 的子存储库默认启用。它还包含其他子存储库版本,例如 MySQL 8.0 和 MySQL Innovation Series。

新 MySQL 存储库安装

如果系统上还没有 MySQL 存储库,则:

  1. 访问 MySQL SLES 存储库的下载页面:https://dev.mysqlserver.cn/downloads/repo/suse/

  2. 选择并下载适合您的 SLES 版本的发行版包。

  3. 使用以下命令安装下载的发行版包,将 package-name 替换为下载的包的名称。

    $> sudo rpm -Uvh package-name.rpm

    例如,要安装 SLES 15 包,其中 # 表示版本中的发行版号,例如 15-1

    $> sudo rpm -Uvh mysql84-community-release-sl15-#.noarch.rpm
更新现有 MySQL 存储库安装

如果已存在旧版本,则更新它。

  • $> sudo zypper update mysql84-community-release
  • 虽然这并非每个 MySQL 发行版都必不可少,但它确实会更新 MySQL 存储库信息,以包含当前信息。例如,mysql84-community-release-sl15-7.noarch.rpm 是第一个 SUSE 15 存储库配置文件,它添加了从 MySQL 8.1 开始的创新发布轨道。

选择发行版系列

在 MySQL SLES 存储库中,MySQL Community Server 的不同发行版系列托管在不同的子存储库中。最新修补程序系列(目前为 MySQL 8.4)的子存储库默认启用,其他所有系列的子存储库都已禁用。使用此命令查看 MySQL SLES 存储库中的所有子存储库,并查看哪些子存储库已启用或禁用。

$> zypper repos | grep mysql.*community

创新轨道适用于 SLES 15,并包含 mysql-innovation-community 等条目。

要安装特定系列的最新发行版,在运行安装命令之前,请确保您想要安装的系列的子存储库已启用,其他系列的子存储库已禁用。例如,在 SLES 15 上,要禁用默认启用的 MySQL 8.4 服务器和工具的子存储库,请使用以下命令:

$> sudo zypper modifyrepo -d mysql-8.4-lts-community
$> sudo zypper modifyrepo -d mysql-tools-community

然后,启用您想要的发布系列的子存储库。例如,要在 SLES 15 上启用创新轨道,请执行以下操作:

$> sudo zypper modifyrepo -e mysql-innovation-community
$> sudo zypper modifyrepo -e mysql-tools-innovation-community

您一次只能启用一个发行版系列的子存储库。

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

$> zypper repos -E | grep mysql.*community

 7 | mysql-connectors-community       | MySQL Connectors Community                  | Yes     | (r ) Yes  | No
10 | mysql-innovation-community       | MySQL Innovation Release Community Server   | Yes     | (r ) Yes  | No
16 | mysql-tools-innovation-community | MySQL Tools Innovation Community            | Yes     | ( p) Yes  | No

之后,使用以下命令刷新已启用子存储库的存储库信息。

$> sudo zypper refresh

使用 Zypper 安装 MySQL

启用官方 MySQL 存储库后,安装 MySQL 服务器。

$> sudo zypper install mysql-community-server

这将安装 MySQL 服务器包以及其他必需的包。

启动 MySQL 服务器

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

$> systemctl start mysql

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

$> systemctl status mysql

如果操作系统启用了 systemd,则应使用标准 systemctl(或备选地使用参数相反的 service)命令,如 stopstartstatusrestart,来管理 MySQL 服务器服务。mysql 服务默认启用,并在系统重启时启动。有关更多信息,请参见 第 2.5.9 节,“使用 systemd 管理 MySQL 服务器”

MySQL 服务器初始化:首次启动服务器时,将初始化服务器,并执行以下操作(如果服务器的数据目录在初始化过程开始时为空)

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

  • 安装并启用 validate_password 插件

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

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

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

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

MySQL 的 validate_password 插件默认安装。这将要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码总长度至少为 8 个字符。

您可以使用以下命令停止 MySQL 服务器。

$> sudo systemctl stop mysql

安装其他 MySQL 产品和组件

您可以安装更多 MySQL 组件。使用以下命令列出 MySQL SLES 存储库中的子存储库。

$> zypper repos | grep mysql.*community

使用以下命令列出特定子存储库中可用的 MySQL 组件的包,将 subrepo-name 替换为您感兴趣的子存储库的名称。

$> zypper packages subrepo-name

使用以下命令安装您选择的任何包,将 package-name 替换为包的名称(您可能需要首先启用该包的子存储库,使用与在 选择发行版系列中概述的用于选择特定发布系列的子存储库的方法相同)。

$> sudo zypper install package-name

例如,要从您已启用的发行系列的子存储库中安装 MySQL 基准测试套件

$> sudo zypper install mysql-community-bench

使用 MySQL SLES 存储库升级 MySQL

注意
  • 在对 MySQL 进行任何更新之前,请仔细遵循 第 3 章,升级 MySQL 中的说明。除了其中讨论的其他说明外,在更新之前备份数据库尤其重要。

使用 MySQL SLES 存储库执行就地更新(即替换服务器的旧版本,然后使用旧数据文件运行新版本)以更新您的 MySQL 安装,请按照以下步骤操作(它们假定您已使用 MySQL SLES 存储库安装了 MySQL;如果不是这种情况,请遵循 替换通过其他来源的 RPM 安装的 MySQL 中的说明)

  1. 选择目标系列

    在更新操作期间,默认情况下,MySQL SLES 存储库会将 MySQL 更新到您在安装期间选择的发布系列中的最新版本(有关详细信息,请参见 选择发布系列),这意味着。例如,一个错误修复系列的安装,例如 8.4,不会更新到一个创新系列,例如 9.0。要更新到另一个发布系列,您需要首先禁用为(默认或您自己)选择的系列的子存储库,然后启用目标系列的子存储库。为此,请遵循 选择发布系列 中提供的通用说明。

    作为一般规则,要从一个发布系列升级到另一个发布系列,请转到下一个系列,而不是跳过一个系列。

    重要

    MySQL SLES 存储库不支持 MySQL 的就地降级。请遵循 第 4 章,降级 MySQL 中的说明。

  2. 升级 MySQL

    使用以下命令升级 MySQL 及其组件

    $> sudo zypper update mysql-community-server

    或者,您可以通过告诉 Zypper 更新系统上的所有内容来更新 MySQL(这可能需要更多时间)

    $> sudo zypper update

您也可以仅更新特定组件。使用以下命令列出从 MySQL SLES 存储库安装的所有软件包

$> zypper packages -i | grep mysql-.*community

在确定了所选组件的软件包名称后,使用以下命令更新软件包,将 package-name 替换为软件包的名称

$> sudo zypper update package-name

替换通过其他来源的 RPM 安装的 MySQL

用于安装 MySQL Community Server 及其组件的 RPM 可以从 MySQL 下载,无论是从 MySQL 开发者专区、从 SLES 的本地软件存储库,还是从 MySQL SLES 存储库。来自这些来源的 RPM 可能不同,它们可能以不同的方式安装和配置 MySQL。

如果您已使用来自 MySQL 开发者专区或 SLES 本地软件存储库的 RPM 安装了 MySQL,并且想要使用来自 MySQL SLES 存储库的 RPM 替换安装,请按照以下步骤操作

  1. 备份数据库以避免数据丢失。有关如何执行此操作,请参见 第 9 章,备份和恢复

  2. 停止您的 MySQL 服务器(如果正在运行)。如果服务器正在作为服务运行,您可以使用以下命令停止它

    $> systemctl stop mysql

  3. 按照为 添加 MySQL SLES 存储库 提供的步骤操作。

  4. 按照为 选择发布系列 提供的步骤操作。

  5. 按照为 使用 Zypper 安装 MySQL 提供的步骤操作。您将被问及是否要将旧软件包替换为新软件包;例如

    Problem: mysql-community-server-5.6.22-2.sles11.x86_64 requires mysql-community-client = 5.6.22-2.sles11,
      but this requirement cannot be provided uninstallable providers:
      mysql-community-client-5.6.22-2.sles11.x86_64[mysql56-community]
     Solution 1: replacement of mysql-client-5.5.31-0.7.10.x86_64 with mysql-community-client-5.6.22-2.sles11.x86_64
     Solution 2: do not install mysql-community-server-5.6.22-2.sles11.x86_64
     Solution 3: break mysql-community-server-5.6.22-2.sles11.x86_64 by ignoring some of its dependencies
    
    Choose from above solutions by number or cancel [1/2/3/c] (c)

    选择 替换 选项(在示例中为 解决方案 1)以完成从 MySQL SLES 存储库的安装。

使用 SLES 存储库安装 MySQL NDB 集群

  • 以下说明假设您的系统上尚未安装 MySQL 服务器或 MySQL NDB 集群;如果不是这种情况,在继续之前,请删除 MySQL 服务器或 MySQL NDB 集群,包括其所有可执行文件、库、配置文件、日志文件和数据目录。但是,您无需删除可能用于在系统上启用 MySQL SLES 存储库的发行版软件包。

  • NDB 集群自动安装程序软件包依赖于 python2-cryptopython-paramiko 软件包。如果您的系统上已启用 Python 存储库,则 Zypper 可以处理此依赖关系。

选择 MySQL NDB 集群子存储库

在 MySQL SLES 存储库中,MySQL Community Server 和 MySQL NDB 集群托管在不同的子存储库中。默认情况下,为 MySQL 服务器的最新错误修复系列启用了子存储库,而为 MySQL NDB 集群禁用了子存储库。要安装 NDB 集群,请禁用 MySQL 服务器的子存储库并启用 NDB 集群的子存储库。例如,使用以下命令禁用为 MySQL 8.4(默认情况下启用)启用的子存储库

$> sudo zypper modifyrepo -d mysql-8.4-lts-community

然后,启用 MySQL NDB 集群的子存储库

$> sudo zypper modifyrepo -e mysql-cluster-8.4-community

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

$> zypper repos -E | grep mysql.*community
10 | mysql-cluster-8.4-community | MySQL Cluster 8.4 Community | Yes     | No

之后,使用以下命令刷新已启用子存储库的存储库信息。

$> sudo zypper refresh

安装 MySQL NDB 集群

要最小程度地安装 MySQL NDB 集群,请按照以下步骤操作

  • 安装 SQL 节点的组件

    $> sudo zypper install mysql-cluster-community-server

    安装完成后,请按照 启动 MySQL 服务器 中提供的步骤启动并初始化 SQL 节点。

    如果您选择使用 mysqld --initialize 命令手动初始化数据目录(有关详细信息,请参见 第 2.9.1 节,“初始化数据目录”),则将生成一个 root 密码并存储在 SQL 节点的错误日志中;请参见 启动 MySQL 服务器,了解如何查找密码,以及您需要了解的一些事项。

  • 安装管理节点的可执行文件

    $> sudo zypper install mysql-cluster-community-management-server
  • 安装数据节点的可执行文件

    $> sudo zypper install mysql-cluster-community-data-node

要安装更多 NDB 集群组件,请参见 安装其他 MySQL 产品和组件

有关如何配置 MySQL NDB 集群的信息,请参见 第 25.3.3 节,“NDB 集群的初始配置”,有关如何首次启动它的信息,请参见 第 25.3.4 节,“NDB 集群的初始启动”

安装其他 MySQL NDB 集群产品和组件

您可以使用 Zypper 从 MySQL SLES 存储库安装 MySQL NDB 集群的单个组件和其他产品。为此,假设您的系统存储库列表中已包含 MySQL SLES 存储库(如果没有,请按照 使用 SLES 存储库安装 MySQL NDB 集群 的步骤 1 和 2 操作),请按照 安装其他 MySQL NDB 集群产品和组件 中提供的相同步骤操作。

注意

已知问题: 当前,在您安装测试套件软件包 (mysql-cluster-community-test) 时,并非运行 MySQL NDB 集群测试套件所需的所有组件都会自动安装。在运行测试套件之前,请使用 zypper install 安装以下软件包

  • mysql-cluster-community-auto-installer

  • mysql-cluster-community-management-server

  • mysql-cluster-community-data-node

  • mysql-cluster-community-memcached

  • mysql-cluster-community-java

  • mysql-cluster-community-ndbclient-devel