中文文档

MySQL 通知设置

此页面记录了配置MYSQL服务作为 Bucket Notifications <minio-bucket-notifications>`目标的设置。 请参阅 :ref:`minio-bucket-notifications-publish-mysql,以了解如何使用这些设置。

您可以通过定义以下内容来建立或修改设置:

  • 在启动或重新启动 MinIO 服务器之前,在宿主系统上定义一个 环境变量。 请参阅您的操作系统的文档,了解如何定义环境变量。

  • 使用 mc admin config set 命令来设置一个 配置项

  • 使用 MinIO控制台管理员 > 设置 页面来设置一个 配置项

如果您同时定义了环境变量和类似的配置设置,MinIO 将使用环境变量的值。

有些设置只有环境变量或配置设置,而不是两者都有。

重要

每个配置设置都控制着MinIO的基本行为和功能。 MinIO 强烈建议 在较低的环境中,如DEV或QA,测试配置更改,然后再将其应用到生产环境中。

多个 MYSQL 目标

您可以通过在顶级键后附加每个相关MySQL设置集的唯一标识符 _ID 来指定多个MySQL服务端点。

示例

以下命令分别将两个不同的MySQL服务端点设置为 PRIMARYSECONDARY

export MINIO_NOTIFY_MYSQL_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_MYSQL_DSN_STRING_PRIMARY="username:password@tcp(mysql.example.com:3306)/miniodb"
export MINIO_NOTIFY_MYSQL_TABLE_PRIMARY="minioevents"
export MINIO_NOTIFY_MYSQL_FORMAT_PRIMARY="namespace"

export MINIO_NOTIFY_MYSQL_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_MYSQL_DSN_STRING_SECONDARY="username:password@tcp(mysql.example.com:3306)/miniodb"
export MINIO_NOTIFY_MYSQL_TABLE_SECONDARY="minioevents"
export MINIO_NOTIFY_MYSQL_FORMAT_SECONDARY="namespace"

有了这些设置,MINIO_NOTIFY_MYSQL_ENABLE_PRIMARY 表示这个环境变量是与具有 PRIMARY ID 的 MySQL 服务端点相关联。

mc admin config set notify_mysql:primary \
   dsn_string="username:password@tcp(mysql.example.com:3306)/miniodb"
   table="minioevents" \
   format="namespace" \
   [ARGUMENT=VALUE ...]

mc admin config set notify_mysql:secondary \
   dsn_string="username:password@tcp(mysql.example.com:3306)/miniodb"
   table="minioevents" \
   format="namespace" \
   [ARGUMENT=VALUE ...]

设置

Enable

必需的

MINIO_NOTIFY_MYSQL_ENABLE

指定 on 以启用将存储桶通知发布到MySQL服务端点。.

默认为 off

如果设置为 on ,则需要指定以下附加环境变量:

notify_mysql

用于定义与 :ref:`MinIO存储桶通知 <minio-bucket-notifications>`一起使用的MySQL服务端点的顶级配置键。

使用 mc admin config set 命令来设置或更新一个MySQL服务端点。 以下参数对于每个目标都是 必需 的:

将其他可选参数指定为空格 ( " " ) 分隔的列表。

mc admin config set notify_mysql \
  dsn_string="username:password@tcp(mysql.example.com:3306)/miniodb"
  table="minioevents" \
  format="namespace" \
  [ARGUMENT="VALUE"] ... \

数据源名称 (DSN) 字符串

必需的

MINIO_NOTIFY_MYSQL_DSN_STRING
notify_mysql dsn_string

指定MySQL服务端点的数据源名称(DSN)。MinIO期望以下格式:

<user>:<password>@tcp(<host>:<port>)/<database>

例如:

username:password@tcp(mysql.example.com:3306)/miniodb

在 RELEASE.2023-05-27T05-56-19Z 版本发生变更: 在添加目标之前,MinIO会检查指定URL的健康状况(如果其能被解析并可以访问)。 如果现有目标离线,MinIO不再阻止添加新的通知目标。

Table

必需的

MINIO_NOTIFY_MYSQL_TABLE
notify_mysql table

指定MinIO发布事件通知的MySQL表的名称。

Format

必需的

MINIO_NOTIFY_MYSQL_FORMAT
notify_mysql format

指定写入MySQL服务端点的事件数据的格式。 MinIO 支持以下值:

namespace

对于每个桶事件,MinIO都会创建一个JSON文档,其中文档ID是事件中的桶和对象名称,而实际事件则是文档体的一部分。 对那个对象的额外更新会修改该对象现有的表条目。 同样,删除对象也会删除相应的表条目。

access

对于每个存储桶事件,MinIO都会创建一个包含事件详情的JSON文档,并将其追加到具有由MySQL生成的随机ID的表中。 对对象的额外更新会导致新的索引条目,而现有的条目保持未修改。

最大打开连接数

可选

MINIO_NOTIFY_MYSQL_MAX_OPEN_CONNECTIONS
notify_mysql max_open_connections

指定到MySQL数据库的最大打开连接数。

默认为 2

队列目录

可选

MINIO_NOTIFY_MYSQL_QUEUE_DIR
notify_mysql queue_dir

指定目录路径以启用MinIO的持久化事件存储,例如 /opt/minio/events

当MySQL服务器/代理离线时,MinIO将在指定的存储中存储未交付的事件,并在连接恢复时重新播放存储的事件。

队列限制

可选

MINIO_NOTIFY_MYSQL_QUEUE_LIMIT
notify_mysql queue_limit

指定未发送消息的最大限制。默认为 100000

Comment

可选

MINIO_NOTIFY_MYSQL_COMMENT
notify_mysql comment

指定与MySQL配置关联的注释。

Join Slack 商业支持购买咨询