Debian 10 发布,包含 MariaDB 10.3

Debian 项目宣布于 2019 年 7 月 6 日发布其代号为 Buster 的第 15 个版本。Debian 10 附带 MariaDB 10.3 和 Galera。没有单独的 MariaDB Connector C 包,而是 MariaDB 10.3 中包含了 MariaDB Connector C 3.0。与大多数其他流行的 Linux 发行版一样,Debian 更偏爱 MariaDB 而非 Oracle 拥有的替代方案,这已经是 Debian 第二个仅附带 MariaDB 而不包含任何 MySQL 的主要版本了。任何尝试运行 apt install mysql-server 的人最终都将获得 MariaDB 服务器,并且从旧版本 MySQL 到新版本 MariaDB 的任何升级都将无缝进行,正如用户从 apt 所期待的那样。

根据Debian 统计数据,MariaDB 10.1 目前是最受欢迎的 MariaDB 版本,但一旦系统开始升级到 Debian 10,很可能 MariaDB 10.3 将会领先。

Popcon July 2019

除了 Debian 10 中已有的 MariaDB 插件(Connect、OQGraph、TokuDB、Mroonga、Spider、GSSapi 等)之外,还有一些新的插件和工具,最值得注意的是 RocksDBmariadb-backup。在 Debian 10 中,旧的 libmariadbclient18 现在已被移除,所有曾经依赖 libmariadbclient18 或 libmysqlclient18 的内容现在都依赖于 LGPL 许可的 MariaDB Connector C 中的 libmariadb3 库。

Debian 中的 MariaDB 10.3 继续默认提供适用于 root 账户的unix socket authentication 模式,这与自 2015 年以来在 Debian 中的做法一致。这个特性最终在上游被采纳,并自 MariaDB 10.4 起普遍可用,因此未来具有相同版本号但来自不同发行源的 MariaDB 版本之间的差异将减少。

MariaDB 10.3.16 和 Galera 25.3.26 将在下一个 Debian 稳定点版本中提供

尽管在 MariaDB 微版本发布几天后,Debian 上传了 MariaDB 10.3.16,但在发布冻结政策期间,它并未包含在 Debian 10 中。然而,第一个 Debian 10 维护版本将包含 MariaDB 10.3.16,或者当时最新的 MariaDB 微版本。这同样适用于 Galera 25.3.26。

有关软件包版本可用性、上传时间及其他详情,请查阅 Debian 跟踪器页面

自 2019 年 5 月以来,也有人在努力将 MariaDB ODBC connector 正式包含在 Debian 中,但尚未上传到 Debian。

Debian 中用于 MariaDB 的新 GitLab 和 GitLab-CI 工作流程

Debian MariaDB/MySQL 打包团队于 2018 年 1 月迁移到 Debian 的新源代码托管服务 Salsa,该服务基于 GitLab。自那时起,GitLab 的功能得到了大量利用,以改进工作流程和质量保证程序。最重要的是,2018 年 8 月在 Debian 的 MariaDB Server 打包仓库中采用了 GitLab-CI 流水线,随后也在 Galera 和 MariaDB Connector C 的 Debian 打包仓库中采用了该流水线。

持续集成流水线不断扩展,如今包含 18 个作业,运行数千个测试。测试包括上游 MariaDB 测试,以及确保服务器和库能够在不同环境中构建并正确配置的 Debian 特定测试,以防止 Debian 中依赖它们的内容损坏。这极大地帮助了打包人员,确保了使用 Debian(或其衍生版本,如 Ubuntu)的系统管理员在安装和升级 MariaDB 时获得非常高质量的最终用户体验。

Debian Salsa Gitlab-CI pipelines for mariadb-10.3

致谢

根据 Debian 中 MariaDB 10.3 系列中提交的 git summary,贡献者列表如下

mariadb-10.3
112 Otto Kekäläinen 84.2%
7 Andreas Beckmann 5.3%
3 Faustin Lammler 2.3%
2 Julien Muchembled 1.5%
2 Samuel Thibault 1.5%
1 Adrian Bunk 0.8%
1 Gregor Riepl 0.8%
1 Helge Deller 0.8%
1 Helmut Grohne 0.8%
1 Olaf van der Spek 0.8%
1 Scott Kitterman 0.8%
1 Vicențiu Ciorbaru 0.8%

galera-3
107 Otto Kekäläinen 93.0%
3 Samuel Thibault 2.6%
1 Daniel Kahn Gillmor 0.9%
1 Dimitri John Ledkov 0.9%
1 Giovanni Mascellani 0.9%
1 Logan Rosen 0.9%

由于采用了 Salsa/GitLab,向 Debian 中 MariaDB 打包代码做出贡献变得容易得多。详情请参见Debian Wiki 上关于贡献 MariaDB 的页面

MariaDB 在 Debian 中的下一步

虽然为旧版本提供安全更新、修复错误以及其他常规工作仍在继续,但 Debian 10 的发布意味着 Debian 11 的发布周期已经开始,现在有机会进行更大的更改。自然的目标当然是将 MariaDB 10.4 和 Galera 4 上传到 Debian 中,并围绕升级自动化进行规划,特别是考虑到从 Galera 3 迁移到 Galera 4 将需要系统管理员执行一些特殊步骤。

正如前所述,由于上游 MariaDB 10.4 最终默认采用了 Unix 认证,现在有机会将 Debian 中进行的许多其他较小的更改向上游 MariaDB 合并,并减少代码库之间的差异。未来,缩小两者之间的差距可以带来意想不到的机会,从而在并行工作和更集成的 workflow 和测试流水线中更有效率。更多相关内容将在后续的博客文章中介绍。

下周 Debconf19

下周,一年一度的 Debian 开发者大会 Debconf19 将在巴西库里蒂巴举行。届时还将有一个关于Debian 中 MariaDB 打包的讲座,以及一些关于如何利用 GitLab CI 提高 Debian 中 MariaDB 质量以及关于Salsa/GitLab CI 系统最佳实践的相关讲座。

如果您想参与 Debian 中的 MariaDB 工作但无法参加会议,您也可以加入MariaDB Zulip 聊天,加入Debian 中的打包邮件列表,或者直接就 MariaDB 打包问题在 Debian 中提交错误报告