MySQL 通知设置
此页面记录将 MYSQL 服务配置为 存储桶通知 目标的设置。请参阅 将事件发布到 MySQL 以获取有关使用这些设置的教程。
您可以通过定义以下内容来建立或修改设置:
在启动或重新启动 MinIO 服务器之前,在主机系统上定义一个环境变量。有关如何定义环境变量,请参阅您的操作系统的文档。
使用
mc admin config set
的配置设置。使用 MinIO 控制台的 管理员 > 设置 页面中的配置设置。
如果您同时定义了环境变量和类似的配置设置,MinIO 将使用环境变量值。
某些设置只有环境变量或配置设置,但没有两者。
重要
每个配置设置都控制着 MinIO 的基本行为和功能。MinIO 强烈建议 在将配置更改应用于生产环境之前,在较低的环境(例如 DEV 或 QA)中进行测试。
多个 MYSQL 目标
您可以通过在顶层键上附加一个唯一的标识符 _ID
来指定多个 MySQL 服务端点,以用于每个相关 MySQL 设置的集合。
示例
以下命令将两个不同的 MySQL 服务端点分别设置为 PRIMARY
和 SECONDARY
set MINIO_NOTIFY_MYSQL_ENABLE_PRIMARY="on"
set MINIO_NOTIFY_MYSQL_DSN_STRING_PRIMARY="username:password@tcp(mysql.example.com:3306)/miniodb"
set MINIO_NOTIFY_MYSQL_TABLE_PRIMARY="minioevents"
set MINIO_NOTIFY_MYSQL_FORMAT_PRIMARY="namespace"
set MINIO_NOTIFY_MYSQL_ENABLE_SECONDARY="on"
set MINIO_NOTIFY_MYSQL_DSN_STRING_SECONDARY="username:password@tcp(mysql.example.com:3306)/miniodb"
set MINIO_NOTIFY_MYSQL_TABLE_SECONDARY="minioevents"
set MINIO_NOTIFY_MYSQL_FORMAT_SECONDARY="namespace"
使用这些设置,MINIO_NOTIFY_MYSQL_ENABLE_PRIMARY
指示环境变量与 ID 为 PRIMARY
的 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 ...]
设置
启用
必需
指定 on
以启用将桶通知发布到 MySQL 服务端点。
默认为 off
。
如果设置为 on
,则需要指定以下附加环境变量
用于定义 MySQL 服务端点以用于 MinIO 桶通知 的顶级配置键。
使用 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 服务端点的 Data Source Name (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 不会再阻止添加新的通知目标。
表
必需
指定 MinIO 发布事件通知的 MySQL 表的名称。
格式
必需
指定写入 MySQL 服务端点的事件数据的格式。MinIO 支持以下值
namespace
对于每个桶事件,MinIO 会创建一个 JSON 文档,其中包含事件中的桶和对象名称作为文档 ID,以及事件本身作为文档主体的一部分。对该对象的额外更新会修改该对象的现有表条目。类似地,删除对象也会删除相应的表条目。
access
对于每个桶事件,MinIO 会创建一个 JSON 文档,其中包含事件详细信息,并使用 MySQL 生成的随机 ID 将其追加到表中。对对象的额外更新会导致新的索引条目,而现有条目保持不变。
最大打开连接数
可选
指定与 MySQL 数据库的打开连接的最大数量。
默认为 2
。
队列目录
可选
指定目录路径以启用 MinIO 的持久事件存储以存储未传递的消息,例如 /opt/minio/events
。
当 MySQL 服务器/代理脱机时,MinIO 会将未传递的事件存储在指定的存储中,并在连接恢复时重播存储的事件。
队列限制
可选
指定未传递消息的最大限制。默认为 100000
。
评论
可选
指定与 MySQL 配置相关的注释。