Elasticsearch MySQL 连接器参考
编辑Elasticsearch MySQL 连接器参考
编辑Elasticsearch MySQL 连接器是用于 MySQL 数据源的连接器。此连接器使用 Elastic 连接器框架用 Python 编写。
查看此连接器的源代码(分支 8.17,与 Elastic 8.17 兼容)。
Elastic 托管连接器参考
编辑查看 Elastic 托管连接器 参考
可用性和先决条件
编辑此连接器在 Elastic 版本 8.5.0 及更高版本中作为托管连接器提供。要在 Elastic Cloud 中原生使用此连接器,请满足所有托管连接器要求。
除了上面链接的共享要求之外,此连接器没有其他先决条件。
兼容性
编辑此连接器与 MySQL 5.6 及更高版本兼容。
该连接器还与兼容上述版本的 MariaDB 数据库兼容。
数据源和您的 Elastic 部署必须能够通过网络相互通信。
创建 MySQL 连接器
编辑使用 UI
编辑要创建新的 MySQL 连接器
- 在 Kibana UI 中,从主菜单导航到 搜索 → 内容 → 连接器 页面,或使用全局搜索字段。
- 按照说明创建新的原生 MySQL 连接器。
有关其他操作,请参阅Kibana 中的连接器 UI。
使用 API
编辑您可以使用 Elasticsearch 创建连接器 API 来创建新的原生 MySQL 连接器。
例如
resp = client.connector.put( connector_id="my-{service-name-stub}-connector", index_name="my-elasticsearch-index", name="Content synced from {service-name}", service_type="{service-name-stub}", is_native=True, ) print(resp)
const response = await client.connector.put({ connector_id: "my-{service-name-stub}-connector", index_name: "my-elasticsearch-index", name: "Content synced from {service-name}", service_type: "{service-name-stub}", is_native: true, }); console.log(response);
PUT _connector/my-mysql-connector { "index_name": "my-elasticsearch-index", "name": "Content synced from MySQL", "service_type": "mysql", "is_native": true }
您还需要为连接器创建一个 API 密钥以供使用。
用户需要集群权限 manage_api_key
、manage_connector
和 write_connector_secrets
以编程方式生成 API 密钥。
要为连接器创建 API 密钥
-
运行以下命令,在指示的位置替换值。请注意响应中的
id
和encoded
返回值resp = client.security.create_api_key( name="my-connector-api-key", role_descriptors={ "my-connector-connector-role": { "cluster": [ "monitor", "manage_connector" ], "indices": [ { "names": [ "my-index_name", ".search-acl-filter-my-index_name", ".elastic-connectors*" ], "privileges": [ "all" ], "allow_restricted_indices": False } ] } }, ) print(resp)
const response = await client.security.createApiKey({ name: "my-connector-api-key", role_descriptors: { "my-connector-connector-role": { cluster: ["monitor", "manage_connector"], indices: [ { names: [ "my-index_name", ".search-acl-filter-my-index_name", ".elastic-connectors*", ], privileges: ["all"], allow_restricted_indices: false, }, ], }, }, }); console.log(response);
POST /_security/api_key { "name": "my-connector-api-key", "role_descriptors": { "my-connector-connector-role": { "cluster": [ "monitor", "manage_connector" ], "indices": [ { "names": [ "my-index_name", ".search-acl-filter-my-index_name", ".elastic-connectors*" ], "privileges": [ "all" ], "allow_restricted_indices": false } ] } } }
-
使用
encoded
值存储连接器密钥,并注意此响应中的id
返回值resp = client.connector.secret_post( body={ "value": "encoded_api_key" }, ) print(resp)
const response = await client.connector.secretPost({ body: { value: "encoded_api_key", }, }); console.log(response);
POST _connector/_secret { "value": "encoded_api_key" }
-
使用 API 密钥
id
和连接器密钥id
来更新连接器resp = client.connector.update_api_key_id( connector_id="my_connector_id>", api_key_id="API key_id", api_key_secret_id="secret_id", ) print(resp)
const response = await client.connector.updateApiKeyId({ connector_id: "my_connector_id>", api_key_id: "API key_id", api_key_secret_id: "secret_id", }); console.log(response);
PUT /_connector/my_connector_id>/_api_key_id { "api_key_id": "API key_id", "api_key_secret_id": "secret_id" }
有关所有可用连接器 API 的详细信息,请参阅Elasticsearch API 文档。
使用
编辑要在 Elastic Cloud 中原生使用此连接器,请参阅Elastic 托管连接器。
有关其他操作,请参阅Kibana 中的连接器 UI。
配置
编辑每次创建要由此连接器管理的索引时,您都将创建一个新的连接器配置。您将需要有关数据源的部分或全部以下信息。
- 主机
-
MySQL 主机的 IP 地址或域名,不包括端口。示例
-
192.158.1.38
-
localhost
-
- 端口
-
MySQL 主机的端口。示例
-
3306
-
3307
-
- 用户名
-
连接器将使用的 MySQL 用户名。
用户必须有权访问配置的数据库。您可能希望为每个连接器创建专用的只读用户。
- 密码
- 连接器将使用的 MySQL 密码。
- 数据库
-
要同步的 MySQL 数据库。必须可以使用配置的用户名和密码访问该数据库。
示例
-
产品
-
订单
-
- 以逗号分隔的表列表
-
要同步的配置数据库中的表。一个或多个表名,以逗号分隔。必须可以使用配置的用户名和密码访问这些表。
示例
-
家具, 食品, 玩具
-
笔记本电脑
使用高级同步规则时,可以绕过此字段。
-
- 启用 SSL
- 是否启用 SSL 验证。默认值为
True
。 - SSL 证书
-
SSL 证书的内容。如果禁用 SSL,则将忽略 SSL 证书值。
展开查看示例证书
-----BEGIN CERTIFICATE----- MIID+jCCAuKgAwIBAgIGAJJMzlxLMA0GCSqGSIb3DQEBCwUAMHoxCzAJBgNVBAYT AlVTMQwwCgYDVQQKEwNJQk0xFjAUBgNVBAsTDURlZmF1bHROb2RlMDExFjAUBgNV BAsTDURlZmF1bHRDZWxsMDExGTAXBgNVBAsTEFJvb3QgQ2VydGlmaWNhdGUxEjAQ BgNVBAMTCWxvY2FsaG9zdDAeFw0yMTEyMTQyMjA3MTZaFw0yMjEyMTQyMjA3MTZa MF8xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xFjAUBgNVBAsTDURlZmF1bHRO b2RlMDExFjAUBgNVBAsTDURlZmF1bHRDZWxsMDExEjAQBgNVBAMTCWxvY2FsaG9z dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMv5HCsJZIpI5zCy+jXV z6lmzNc9UcVSEEHn86h6zT6pxuY90TYeAhlZ9hZ+SCKn4OQ4GoDRZhLPTkYDt+wW CV3NTIy9uCGUSJ6xjCKoxClJmgSQdg5m4HzwfY4ofoEZ5iZQ0Zmt62jGRWc0zuxj hegnM+eO2reBJYu6Ypa9RPJdYJsmn1RNnC74IDY8Y95qn+WZj//UALCpYfX41hko i7TWD9GKQO8SBmAxhjCDifOxVBokoxYrNdzESl0LXvnzEadeZTd9BfUtTaBHhx6t njqqCPrbTY+3jAbZFd4RiERPnhLVKMytw5ot506BhPrUtpr2lusbN5svNXjuLeea MMUCAwEAAaOBoDCBnTATBgNVHSMEDDAKgAhOatpLwvJFqjAdBgNVHSUEFjAUBggr BgEFBQcDAQYIKwYBBQUHAwIwVAYDVR0RBE0wS4E+UHJvZmlsZVVVSUQ6QXBwU3J2 MDEtQkFTRS05MDkzMzJjMC1iNmFiLTQ2OTMtYWI5NC01Mjc1ZDI1MmFmNDiCCWxv Y2FsaG9zdDARBgNVHQ4ECgQITzqhA5sO8O4wDQYJKoZIhvcNAQELBQADggEBAKR0 gY/BM69S6BDyWp5dxcpmZ9FS783FBbdUXjVtTkQno+oYURDrhCdsfTLYtqUlP4J4 CHoskP+MwJjRIoKhPVQMv14Q4VC2J9coYXnePhFjE+6MaZbTjq9WaekGrpKkMaQA iQt5b67jo7y63CZKIo9yBvs7sxODQzDn3wZwyux2vPegXSaTHR/rop/s/mPk3YTS hQprs/IVtPoWU4/TsDN3gIlrAYGbcs29CAt5q9MfzkMmKsuDkTZD0ry42VjxjAmk xw23l/k8RoD1wRWaDVbgpjwSzt+kl+vJE/ip2w3h69eEZ9wbo6scRO5lCO2JM4Pr 7RhLQyWn2u00L7/9Omw= -----END CERTIFICATE-----
已知问题
编辑此连接器存在以下已知问题
-
从技术预览版连接器(8.7 或更早版本)升级到 8.8 将导致 MySQL 连接器配置无效。
8.8 之前的 MySQL 连接器可能缺少连接器运行所需的一些配置字段。如果您希望在从 8.7 或更早版本升级后继续使用 MySQL 连接器,请运行以下脚本来修复连接器的配置。这将使用缺少的字段填充配置。然后,自托管连接器会自动添加配置所需的辅助信息。
resp = client.update( index=".elastic-connectors", id="connector_id", doc={ "configuration": { "tables": { "type": "list", "value": "*" }, "ssl_enabled": { "type": "bool", "value": False }, "ssl_ca": { "type": "str", "value": "" }, "fetch_size": { "type": "int", "value": 50 }, "retry_count": { "type": "int", "value": 3 } } }, ) print(resp)
const response = await client.update({ index: ".elastic-connectors", id: "connector_id", doc: { configuration: { tables: { type: "list", value: "*", }, ssl_enabled: { type: "bool", value: false, }, ssl_ca: { type: "str", value: "", }, fetch_size: { type: "int", value: 50, }, retry_count: { type: "int", value: 3, }, }, }, }); console.log(response);
POST /.elastic-connectors/_update/connector_id { "doc" : { "configuration": { "tables": { "type": "list", "value": "*" }, "ssl_enabled": { "type": "bool", "value": false }, "ssl_ca": { "type": "str", "value": "" }, "fetch_size": { "type": "int", "value": 50 }, "retry_count": { "type": "int", "value": 3 } } } }
-
升级到 8.8 不会迁移 MySQL 同步规则。
升级后,您必须重新创建同步规则。
有关影响所有连接器的任何问题,请参阅已知问题。
文档和同步
编辑以下描述了此连接器的默认同步行为。使用同步规则和采集管道来自定义特定索引的同步。
提取 MySQL 数据库中包含在您的连接器配置中的所有记录,并将其转换为 Elasticsearch 索引中的文档。
- 对于 MySQL 数据库表中的每一行,连接器都会创建一个Elasticsearch 文档。
- 对于每一列,连接器都会将该列转换为一个 Elasticsearch 字段。
- Elasticsearch 动态映射 MySQL 数据类型到 Elasticsearch 数据类型。
- 将跳过未定义主键的表。
- 表示其他记录的字段值将替换为该记录的主键(复合主键将使用
_
连接)。
当创建第一个文档时,将创建 Elasticsearch 映射。
每次同步都是“完全”同步。
对于发现的每个 MySQL 行
- 如果该文档不存在,则会在 Elasticsearch 中创建该文档。
- 如果该文档已存在于 Elasticsearch 中,则会替换 Elasticsearch 文档并递增版本。
- 如果现有的 Elasticsearch 文档不再存在于 MySQL 表中,则会从 Elasticsearch 中删除该文档。
- 不会提取大于 10 MB 的文件
- 默认情况下不同步权限。所有文档索引到 Elastic 部署后,所有有权访问该 Elastic 部署的用户都可以看到。
同步规则
编辑以下部分描述了此连接器的同步规则。
基本同步规则对于所有连接器都是相同的,并且默认可用。
MySQL 的高级规则可用于将任意 SQL 语句传递给 MySQL 实例。
您需要在“tables”字段中指定自定义查询中使用的表。
例如
[ { "tables": ["table1", "table2"], "query": "SELECT ... FROM ..." } ]
使用高级规则时,查询可以绕过配置字段 tables
。如果查询指定了未出现在配置中的表,则会发生这种情况。如果配置指定 *
以获取所有表,而高级同步规则仅请求表的一个子集,也可能发生这种情况。
故障排除
编辑请参阅故障排除。
安全性
编辑请参阅安全性。
自托管连接器
编辑查看自托管连接器参考
可用性和先决条件
编辑此连接器在 Elastic 版本 8.5.0 及更高版本中作为托管连接器提供。要在 Elastic Cloud 中原生使用此连接器,请满足所有托管连接器要求。
此连接器也可以从 Elastic 连接器框架获得作为自托管连接器。要将此连接器用作自托管连接器,请满足所有自托管连接器要求。
除了上面链接的共享要求之外,此连接器没有其他先决条件。
创建 MySQL 连接器
编辑使用 UI
编辑要创建新的 MySQL 连接器
- 在 Kibana UI 中,从主菜单导航到 搜索 → 内容 → 连接器 页面,或使用全局搜索字段。
- 按照说明创建新的MySQL 自托管连接器。
使用 API
编辑您可以使用 Elasticsearch 创建连接器 API 来创建新的自托管 MySQL 自托管连接器。
例如
resp = client.connector.put( connector_id="my-{service-name-stub}-connector", index_name="my-elasticsearch-index", name="Content synced from {service-name}", service_type="{service-name-stub}", ) print(resp)
const response = await client.connector.put({ connector_id: "my-{service-name-stub}-connector", index_name: "my-elasticsearch-index", name: "Content synced from {service-name}", service_type: "{service-name-stub}", }); console.log(response);
PUT _connector/my-mysql-connector { "index_name": "my-elasticsearch-index", "name": "Content synced from MySQL", "service_type": "mysql" }
您还需要为连接器创建一个 API 密钥以供使用。
用户需要集群权限 manage_api_key
、manage_connector
和 write_connector_secrets
以编程方式生成 API 密钥。
要为连接器创建 API 密钥
-
运行以下命令,在指示的位置替换值。请注意响应中的
encoded
返回值resp = client.security.create_api_key( name="connector_name-connector-api-key", role_descriptors={ "connector_name-connector-role": { "cluster": [ "monitor", "manage_connector" ], "indices": [ { "names": [ "index_name", ".search-acl-filter-index_name", ".elastic-connectors*" ], "privileges": [ "all" ], "allow_restricted_indices": False } ] } }, ) print(resp)
const response = await client.security.createApiKey({ name: "connector_name-connector-api-key", role_descriptors: { "connector_name-connector-role": { cluster: ["monitor", "manage_connector"], indices: [ { names: [ "index_name", ".search-acl-filter-index_name", ".elastic-connectors*", ], privileges: ["all"], allow_restricted_indices: false, }, ], }, }, }); console.log(response);
POST /_security/api_key { "name": "connector_name-connector-api-key", "role_descriptors": { "connector_name-connector-role": { "cluster": [ "monitor", "manage_connector" ], "indices": [ { "names": [ "index_name", ".search-acl-filter-index_name", ".elastic-connectors*" ], "privileges": [ "all" ], "allow_restricted_indices": false } ] } } }
- 使用 API 密钥
encoded
值更新您的config.yml
文件。
有关所有可用连接器 API 的详细信息,请参阅Elasticsearch API 文档。
使用
编辑要将此连接器用作托管连接器,请使用连接器工作流程。请参阅Elastic 托管连接器。
要将此连接器用作自托管连接器,请参阅自托管连接器。
有关其他操作,请参阅Kibana 中的连接器 UI。
兼容性
编辑此连接器与 MySQL 5.6 及更高版本兼容。
该连接器还与兼容上述版本的 MariaDB 数据库兼容。
数据源和您的 Elastic 部署必须能够通过网络相互通信。
配置
编辑每次创建要由此连接器管理的索引时,您都将创建一个新的连接器配置。您将需要有关数据源的部分或全部以下信息。
- 主机
-
MySQL 主机的 IP 地址或域名,不包括端口。示例
-
192.158.1.38
-
localhost
-
- 端口
-
MySQL 主机的端口。示例
-
3306
-
3307
-
- 用户名
-
连接器将使用的 MySQL 用户名。
用户必须有权访问配置的数据库。您可能希望为每个连接器创建专用的只读用户。
- 密码
- 连接器将使用的 MySQL 密码。
- 数据库
-
要同步的 MySQL 数据库。必须可以使用配置的用户名和密码访问该数据库。
示例
-
产品
-
订单
-
- 表
-
要同步的配置数据库中的表。一个或多个表名,以逗号分隔。必须可以使用配置的用户名和密码访问这些表。
示例
-
家具, 食品, 玩具
-
笔记本电脑
-
- 启用 SSL
- 是否启用 SSL 验证。默认值为
True
。 - SSL 证书
-
SSL 证书的内容。如果禁用 SSL,则将忽略 SSL 证书值。
展开查看示例证书
-----BEGIN CERTIFICATE----- MIID+jCCAuKgAwIBAgIGAJJMzlxLMA0GCSqGSIb3DQEBCwUAMHoxCzAJBgNVBAYT AlVTMQwwCgYDVQQKEwNJQk0xFjAUBgNVBAsTDURlZmF1bHROb2RlMDExFjAUBgNV BAsTDURlZmF1bHRDZWxsMDExGTAXBgNVBAsTEFJvb3QgQ2VydGlmaWNhdGUxEjAQ BgNVBAMTCWxvY2FsaG9zdDAeFw0yMTEyMTQyMjA3MTZaFw0yMjEyMTQyMjA3MTZa MF8xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xFjAUBgNVBAsTDURlZmF1bHRO b2RlMDExFjAUBgNVBAsTDURlZmF1bHRDZWxsMDExEjAQBgNVBAMTCWxvY2FsaG9z dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMv5HCsJZIpI5zCy+jXV z6lmzNc9UcVSEEHn86h6zT6pxuY90TYeAhlZ9hZ+SCKn4OQ4GoDRZhLPTkYDt+wW CV3NTIy9uCGUSJ6xjCKoxClJmgSQdg5m4HzwfY4ofoEZ5iZQ0Zmt62jGRWc0zuxj hegnM+eO2reBJYu6Ypa9RPJdYJsmn1RNnC74IDY8Y95qn+WZj//UALCpYfX41hko i7TWD9GKQO8SBmAxhjCDifOxVBokoxYrNdzESl0LXvnzEadeZTd9BfUtTaBHhx6t njqqCPrbTY+3jAbZFd4RiERPnhLVKMytw5ot506BhPrUtpr2lusbN5svNXjuLeea MMUCAwEAAaOBoDCBnTATBgNVHSMEDDAKgAhOatpLwvJFqjAdBgNVHSUEFjAUBggr BgEFBQcDAQYIKwYBBQUHAwIwVAYDVR0RBE0wS4E+UHJvZmlsZVVVSUQ6QXBwU3J2 MDEtQkFTRS05MDkzMzJjMC1iNmFiLTQ2OTMtYWI5NC01Mjc1ZDI1MmFmNDiCCWxv Y2FsaG9zdDARBgNVHQ4ECgQITzqhA5sO8O4wDQYJKoZIhvcNAQELBQADggEBAKR0 gY/BM69S6BDyWp5dxcpmZ9FS783FBbdUXjVtTkQno+oYURDrhCdsfTLYtqUlP4J4 CHoskP+MwJjRIoKhPVQMv14Q4VC2J9coYXnePhFjE+6MaZbTjq9WaekGrpKkMaQA iQt5b67jo7y63CZKIo9yBvs7sxODQzDn3wZwyux2vPegXSaTHR/rop/s/mPk3YTS hQprs/IVtPoWU4/TsDN3gIlrAYGbcs29CAt5q9MfzkMmKsuDkTZD0ry42VjxjAmk xw23l/k8RoD1wRWaDVbgpjwSzt+kl+vJE/ip2w3h69eEZ9wbo6scRO5lCO2JM4Pr 7RhLQyWn2u00L7/9Omw= -----END CERTIFICATE-----
已知问题
编辑此连接器存在以下已知问题
-
从技术预览版连接器(8.7 或更早版本)升级到 8.8 将导致 MySQL 连接器配置无效。
8.8 之前的 MySQL 连接器可能缺少连接器运行所需的一些配置字段。如果您希望在从 8.7 或更早版本升级后继续使用 MySQL 连接器,请运行以下脚本来修复连接器的配置。这将使用缺少的字段填充配置。然后,自托管连接器会自动添加配置所需的辅助信息。
resp = client.update( index=".elastic-connectors", id="connector_id", doc={ "configuration": { "tables": { "type": "list", "value": "*" }, "ssl_enabled": { "type": "bool", "value": False }, "ssl_ca": { "type": "str", "value": "" }, "fetch_size": { "type": "int", "value": 50 }, "retry_count": { "type": "int", "value": 3 } } }, ) print(resp)
const response = await client.update({ index: ".elastic-connectors", id: "connector_id", doc: { configuration: { tables: { type: "list", value: "*", }, ssl_enabled: { type: "bool", value: false, }, ssl_ca: { type: "str", value: "", }, fetch_size: { type: "int", value: 50, }, retry_count: { type: "int", value: 3, }, }, }, }); console.log(response);
POST /.elastic-connectors/_update/connector_id { "doc" : { "configuration": { "tables": { "type": "list", "value": "*" }, "ssl_enabled": { "type": "bool", "value": false }, "ssl_ca": { "type": "str", "value": "" }, "fetch_size": { "type": "int", "value": 50 }, "retry_count": { "type": "int", "value": 3 } } } }
-
升级到 8.8 不会迁移 MySQL 同步规则。
升级后,您必须重新创建同步规则。
有关影响所有连接器的任何问题,请参阅已知问题。
文档和同步
编辑以下描述了此连接器的默认同步行为。使用同步规则和采集管道来自定义特定索引的同步。
提取 MySQL 数据库中包含在您的连接器配置中的所有记录,并将其转换为 Elasticsearch 索引中的文档。
- 对于 MySQL 数据库表中的每一行,连接器都会创建一个Elasticsearch 文档。
- 对于每一列,连接器都会将该列转换为一个 Elasticsearch 字段。
- Elasticsearch 动态映射 MySQL 数据类型到 Elasticsearch 数据类型。
- 将跳过未定义主键的表。
- 表示其他记录的字段值将替换为该记录的主键(复合主键将使用
_
连接)。
当创建第一个文档时,将创建 Elasticsearch 映射。
每次同步都是“完全”同步。
对于发现的每个 MySQL 行
- 如果该文档不存在,则会在 Elasticsearch 中创建该文档。
- 如果该文档已存在于 Elasticsearch 中,则会替换 Elasticsearch 文档并递增版本。
- 如果现有的 Elasticsearch 文档不再存在于 MySQL 表中,则会从 Elasticsearch 中删除该文档。
使用 Docker 部署
编辑您可以使用 Docker 将 MySQL 连接器部署为自托管连接器。请按照以下说明操作。
步骤 1:下载示例配置文件
下载示例配置文件。您可以手动下载或运行以下命令
curl https://raw.githubusercontent.com/elastic/connectors/main/config.yml.example --output ~/connectors-config/config.yml
如果您的目录名称不同,或者您想使用其他配置文件名,请记住更新 --output
参数值。
步骤 2:更新自托管连接器的配置文件
更新配置文件,使其具有与您的环境匹配的以下设置
-
elasticsearch.host
-
elasticsearch.api_key
-
连接器
如果您正在针对 Docker 化的 Elasticsearch 和 Kibana 版本运行连接器服务,您的配置文件将如下所示
# When connecting to your cloud deployment you should edit the host value elasticsearch.host: http://host.docker.internal:9200 elasticsearch.api_key: <ELASTICSEARCH_API_KEY> connectors: - connector_id: <CONNECTOR_ID_FROM_KIBANA> service_type: mysql api_key: <CONNECTOR_API_KEY_FROM_KIBANA> # Optional. If not provided, the connector will use the elasticsearch.api_key instead
推荐使用 elasticsearch.api_key
作为身份验证方法。但是,您也可以使用 elasticsearch.username
和 elasticsearch.password
来对您的 Elasticsearch 实例进行身份验证。
注意:您可以通过简单地取消注释配置文件中的特定设置并修改其值来更改其他默认配置。
步骤 3:运行 Docker 镜像
使用以下命令运行带有连接器服务的 Docker 镜像
docker run \ -v ~/connectors-config:/config \ --network "elastic" \ --tty \ --rm \ docker.elastic.co/enterprise-search/elastic-connectors:8.17.0.0 \ /app/bin/elastic-ingest \ -c /config/config.yml
有关更多详细信息,请参阅 elastic/connectors
仓库中的 DOCKER.md
文件。
在官方注册表中查找所有可用的 Docker 镜像。
我们还有一个使用 Docker Compose 的快速入门自管理选项,因此您可以一次启动所有必需的服务:Elasticsearch、Kibana 和连接器服务。有关更多信息,请参阅 elastic/connectors
仓库中此 README。
同步规则
编辑以下部分描述了此连接器的同步规则。
基本同步规则对于所有连接器都是相同的,并且默认可用。
MySQL 的高级规则可用于将任意 SQL 语句传递给 MySQL 实例。
您需要在“tables”字段中指定自定义查询中使用的表。
例如
[ { "tables": ["table1", "table2"], "query": "SELECT ... FROM ..." } ]
使用高级规则时,查询可以绕过配置字段 tables
。如果查询指定了未出现在配置中的表,则会发生这种情况。如果配置指定 *
以获取所有表,而高级同步规则仅请求表的一个子集,也可能发生这种情况。
故障排除
编辑请参阅故障排除。
安全
编辑请参阅安全性。