2.8. 从 MariaDB 10.5 升级到 MariaDB 10.11
这部分论述了在 RHEL 9 中从 MariaDB 10.5 迁移到 MariaDB 10.11。
2.8.1. MariaDB 10.5 和 MariaDB 10.11 之间的显著区别 复制链接链接已复制到粘贴板!
MariaDB 10.5 和 MariaDB 10.11 之间的显著变化包括:
-
新的
sys_schema功能是一个视图、功能和流程的集合,用来提供有关数据库使用情况的信息。 -
CREATE TABLE,ALTER TABLE,RENAME TABLE,DROP TABLE,DROP DATABASE以及相关的数据定义语言(DDL)语句现在都是原子的。语句必须全部完成,否则更改会被恢复。请注意,当使用DROP TABLE删除多个表时,只有每个单独的删除是原子的,而不是表的完整列表。 -
新的
GRANT … TO PUBLIC权限可用。 -
SUPER和READ ONLY ADMIN权限现在是分开的。 -
现在,您可以在新的
UUID数据库数据类型中存储通用的唯一标识符。 - MariaDB 现在支持安全套接字层(SSL)协议版本 3。
- MariaDB 服务器现在需要正确配置的 SSL 才能启动。在以前的版本中,MariaDB 默默禁用 SSL,并在 SSL 配置错误的情况下使用不安全连接。
-
MariaDB 现在支持通过
natural_sort_key()函数的自然排序。 -
新的
SFORMAT功能现在用于任意文本格式化。 -
utf8字符集(和相关排序规则)现在默认是utf8mb3的别名。 - MariaDB 支持 Unicode Collation Algorithm (UCA) 14 排序规则。
-
MariaDB 的
systemd套接字激活文件现在在/usr/share/目录中提供。请注意,与上游不同,它们不是 RHEL 中默认配置的一部分。 -
错误消息现在包含
MariaDB字符串,而不是MySQL。 - 错误消息现在以中文提供。
- 默认的 logrotate 文件已发生了很大变化。在迁移到 MariaDB 10.11 前检查您的配置。
-
对于 MariaDB 和 MySQL 客户端,命令行上指定的连接属性(如
--port=3306)现在强制客户端和服务器之间的协议通信类型,如tcp、socket、pipe或memory。例如,在以前的版本中,如果 MariaDB 客户端通过 UNIX 套接字连接,则指定的端口会被忽略。
2.8.2. 从 RHEL 9 的 MariaDB 10.5 版本升级到 MariaDB 10.11 复制链接链接已复制到粘贴板!
此流程描述了使用 dnf 和 mariadb-upgrade 工具从 mariadb-server RPM 软件包提供的 MariaDB 10.5 升级到 mariadb:10.11 模块流。
mariadb-upgrade 实用程序由 mariadb-server-utils 子软件包提供,该子软件包作为 mariadb-server 软件包的依赖项安装。
先决条件
- 在执行升级前,备份存储在 MariaDB 数据库中的所有数据。
流程
停止 MariaDB 服务器:
# systemctl stop mariadb.service从非模块化 MariaDB 10.5 切换到模块化 MariaDB 10.11 :
# dnf module switch-to mariadb:10.11-
调整配置,以便位于
/etc/my.cnf.d/中的选项文件只包含对 MariaDB 10.11 有效的选项。详情请查看 MariaDB 10.6 和 MariaDB 10.11 的上游文档。 启动 MariaDB 服务器。
在升级独立运行的数据库时:
# systemctl start mariadb.service在升级 Galera 集群节点时:
# galera_new_clustermariadb服务将自动启动。
执行 mariadb-upgrade 工具来检查和修复内部表。
在升级独立运行的数据库时:
# mariadb-upgrade在升级 Galera 集群节点时:
# mariadb-upgrade --skip-write-binlog
有一些与原位升级相关的风险和已知问题。例如,一些查询可能无法正常工作,或者它们以与升级前不同的顺序运行。有关这些风险和问题的更多信息,以及有关原位升级的常规信息,请参阅 MariaDB 10.11 发行注记。