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服务端点设置为 PRIMARY
和 SECONDARY
:
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
必需的
指定 on
以启用将存储桶通知发布到MySQL服务端点。.
默认为 off
。
如果设置为 on
,则需要指定以下附加环境变量:
用于定义与 :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) 字符串
必需的
指定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发布事件通知的MySQL表的名称。
Format
必需的
指定写入MySQL服务端点的事件数据的格式。 MinIO 支持以下值:
namespace
对于每个桶事件,MinIO都会创建一个JSON文档,其中文档ID是事件中的桶和对象名称,而实际事件则是文档体的一部分。 对那个对象的额外更新会修改该对象现有的表条目。 同样,删除对象也会删除相应的表条目。
access
对于每个存储桶事件,MinIO都会创建一个包含事件详情的JSON文档,并将其追加到具有由MySQL生成的随机ID的表中。 对对象的额外更新会导致新的索引条目,而现有的条目保持未修改。
最大打开连接数
可选
指定到MySQL数据库的最大打开连接数。
默认为 2
。
队列目录
可选
指定目录路径以启用MinIO的持久化事件存储,例如 /opt/minio/events
。
当MySQL服务器/代理离线时,MinIO将在指定的存储中存储未交付的事件,并在连接恢复时重新播放存储的事件。
队列限制
可选
指定未发送消息的最大限制。默认为 100000
。
Comment
可选
指定与MySQL配置关联的注释。