Menu Close

2.7.2. 从 RHEL 8 的 MariaDB 10.3 迁移到 RHEL 9 版本的 MariaDB 10.5

这个步骤描述了使用 mariadb-upgrade 程序从 MariaDB 10.3 迁移到 MariaDB 10.5

mariadb-upgrade 实用程序由 mariadb-server-utils 子软件包提供,该子软件包作为 mariadb-server 软件包的依赖项安装。

先决条件

  • 在执行升级前,备份存储在 MariaDB 数据库中的所有数据。

流程

  1. 确定在 RHEL 9 系统中安装了 mariadb-server 软件包:

    # dnf install mariadb-server
  2. 确保 mariadb 服务在复制数据时没有在源和目标系统上运行:

    # systemctl stop mariadb.service
  3. 将源位置的数据复制到 RHEL 9 目标系统的 /var/lib/mysql/ 目录中。
  4. 对目标系统上复制的文件设置适当的权限和 SELinux 上下文:

    # restorecon -vr /var/lib/mysql
  5. 确保 mysql:mysql/var/lib/mysql 目录中所有数据的所有者:

    # chown -R mysql:mysql /var/lib/mysql
  6. 调整配置,以便位于 /etc/my.cnf.d/ 中的选项文件只包含对 MariaDB 10.5 有效的选项。详情请参阅 MariaDB 10.4MariaDB 10.5 的上游文档。
  7. 在目标系统中启动 MariaDB 服务器。

    • 在升级独立运行的数据库时:

      # systemctl start mariadb.service
    • 在升级 Galera 集群节点时:

      # galera_new_cluster

      mariadb 服务将自动启动。

  8. 执行 mariadb-upgrade 工具来检查和修复内部表。

    • 在升级独立运行的数据库时:

      $ mariadb-upgrade
    • 在升级 Galera 集群节点时:

      $ mariadb-upgrade --skip-write-binlog
重要

有一些与原位升级相关的风险和已知问题。例如,一些查询可能无法正常工作,或者它们会以与升级前不同的顺序运行。有关这些风险和问题的更多信息,以及有关原位升级的常规信息,请参阅 MariaDB 10.5 发行注记