MariaDB 服务器文档 PDF 版本

MariaDB 服务器文档现已发布为单个 PDF 文件,可离线浏览。下载这超过 3000 页的文档并查看吧!

迟来总比不做好

有些事情需要很长时间!2014 年,Jira 上有一项请求,要求将 MariaDB 服务器知识库打包成一个 PDF 文件。那已经是七年多以前的事情了。 MDEV-6881,你从编号就能看出来 – 我们现在已经远远超过 MDEV-28000 了。

这项请求一直萦绕在我们脑海中。如今促成此事的原因是研究 Python,以及其将一种格式转换为另一种格式(包括 PDF)的相对便捷性。

MariaDB & K8s:容器/部署之间的通信

上一篇博客中,从 YAML 文件创建了一个后台Deployment (部署)资源,该资源由一个作为后台容器的单一容器 (MariaDB) 组成。

在本篇博客中,我们将继续创建前端容器,以通过Service (服务)和其他资源与后端通信。

关于 Service (服务)

当通过 Deployment (部署) 运行应用程序时,会动态创建和销毁 Pods (容器组)。创建时,它们会在集群中获得内部 IP 地址,由于它们是短暂的,因此需要一种稳定的方式来允许 Pods 之间进行通信。

使用 CONNECT SE 创建远程服务器链接并访问数据

在本篇博客中,我们将介绍如何创建远程服务器链接并使用它一次访问多个表。
上一篇博客中,我们介绍了如何在 Docker 容器之间建立远程连接。
我们之前的方法是指定连接字符串仅引用单个表。
但是如果我们需要更多的表,或者需要整个数据库呢?

解决方案是使用 CREATE SERVER 语句链接到远程数据库。
通过这种方式获得的链接可以传递给存储引擎 (SE) 的 CREATE TABLE 语句,从而建立连接,其中使用表发现功能,SE 将识别表字段并创建表。

在 Docker 中使用 CONNECT SE 访问远程 JSON 数据及示例

CONNECT 是一个存储引擎 (SE) 插件,用于访问外部、本地或远程数据。在本篇博客中,我们将展示如何在 Docker 容器中安装 CONNECT 存储引擎以及如何在容器之间共享 JSON 数据。

在 Docker 中启用 CONNECT SE 插件

CONNECT SE 需要安装在容器中才能使用。要了解如何操作,请查看 在 MariaDB Docker 库容器中安装插件

在远程服务器上创建 JSON 数据

CONNECT SE 对 MariaDB 最重要的功能是其从各种数据源创建表的灵活性,例如同一数据库、其他 DMBS 的表或不同格式的文件。

在 MariaDB Docker 库容器中安装插件

MariaDB 插件 是软件组件,可以在无需重建 MariaDB 服务器核心软件的情况下添加。插件可以是存储引擎、额外的安全要求、关于服务器的特殊日志信息等。MariaDB 有大量内置插件,它们是永久安装的(通过 SHOW PLUGINS 查询列出)。插件可以在启动时、初始化期间加载,或者在服务器运行时动态加载。

在本篇博客中,我们将介绍如何列出 MariaDB 容器中可用的插件以及在容器中安装插件的方法。

10.7 功能预览:杂项功能

“杂项功能”预览版包含了所有未能单独划入特定预览二进制文件的其他功能。


MariaDB Server 10.7 包含了 JSON_EQUALS 函数,该函数比较输入是否为 JSON 对象,不受空白字符、键顺序或数字格式的影响。

(更多…)

10.7 预览功能:密码重用检查插件

默认情况下,MariaDB 不检查用户是否重用密码。一些安全策略要求用户每次都选择一个新密码,而 MariaDB 10.7.0 预览版中提供的密码重用检查插件 (Password Reuse Check plugin) 则提供了此功能。

旧密码存储在 mysql.password_reuse_check_history 表中,其保留期限由 password-reuse-check-interval 系统变量决定,该变量指定了天数。默认情况下,此值为零,表示无限期保留。

该插件可以与其他密码验证插件结合使用,例如 Simple Password Check pluginCrackLib Password Check plugin

10.7 预览功能:CONVERT PARTITION

如果您正在使用表分区 (table partitioning),您可能听说过 ALTER TABLE … EXCHANGE PARTITION … WITH TABLE … 命令。它自 MariaDB 诞生以来就存在。但是如果您 查看手册任何手册)或在网上搜索,您会发现它几乎唯一的用例是将一个分区转换为一个独立的非分区表,或将一个独立的非分区表转换为一个分区。

当时的设计用法非常不直观。要将一个分区转换为一个表,首先需要创建一个与该分区结构相同的空表,然后将其与该分区交换,最后删除该空分区。