Availability and prerequisitesedit
This connector is available as a native connector in Elastic versions 8.5.0 and later. To use this connector as a native connector, satisfy all native connector requirements.
This connector is also available as a connector client from the Python connectors framework. To use this connector as a connector client, satisfy all connector client requirements.
This connector has no additional prerequisites beyond the shared requirements, linked above.
This connector is available in technical preview. Features in technical preview are subject to change and are not covered by the service level agreement (SLA) of features that have reached general availability (GA).
To use this connector as a native connector, use the use a connector workflow. See Native connectors.
To use this connector as a connector client, use the build a connector workflow. See Connector clients and frameworks.
For additional operations, see Usage.
There are no known issues with this connector.
See Known issues for any issues affecting all connectors.
This connector is compatible with MySQL 5.6 and later.
The connector is also compatible with MariaDB databases compatible with the above.
The data source and your Elastic deployment must be able to communicate with each other over a network.
Each time you create an index to be managed by this connector, you will create a new connector configuration. You will need some or all of the following information about the data source.
The IP address or domain name of the MySQL host, excluding port. Examples:
The port of the MySQL host. Examples:
The MySQL username the connector will use.
The user must have access to the configured databases. You may want to create a dedicated, read-only user for each connector.
- The MySQL password the connector will use.
The MySQL databases to sync. One or more database names, separated by commas. Each database must be accessible using the configured username and password.
Documents and syncsedit
All records in the MySQL databases included in your connector configuration are extracted and transformed into documents in your Elasticsearch index.
- For each row in your MySQL database table, the connector creates one Elasticsearch document.
- For each column, the connector transforms the column into an Elasticsearch field.
- Elasticsearch dynamically maps MySQL data types to Elasticsearch data types.
Field values that represent other records are replaced with the primary key for that record (composite primary keys are joined with
The Elasticsearch mapping is created when the first document is created.
Each sync is a "full" sync.
For each MySQL row discovered:
- If it does not exist, the document is created in Elasticsearch.
- If it already exists in Elasticsearch, the Elasticsearch document is replaced and the version is incremented.
- If an existing Elasticsearch document no longer exists in the MySQL table, it is deleted from Elasticsearch.
Framework and sourceedit
This connector is included in the Python connectors framework.
View the source code for this connector (branch 8.6, compatible with Elastic 8.6).