Skip to content
Database

Elasticsearch to MySQL integration — real-time, two-way sync

Keep Elasticsearch and MySQL in sync without custom scripts. Cut weeks of integration work, eliminate silent data drift, and give your team a single, reliable source of truth.

  • SOC 2 and 6 other compliance frameworks
  • POC with real engineers in minutes

Adopted by fast-scaling companies moving mission-critical data in real time

Case study
Migrated from Mulesoft
Case study
Migrated from Celigo
Migrated from Heroku Connect
Migrated from Matillion
Case study
Migrated from Fivetran
Case study
Migrated from Celigo
Why teams connect Elasticsearch and MySQL

Keep Elasticsearch and MySQL synchronized in real time, across engines, regions, or services, in one or both directions.

Two databases that must agree is one of the oldest problems in engineering: different engines for different workloads, separate services with overlapping reference data, a migration in flight, or regional instances that share a subset of records. Hand-rolled replication across systems means change capture, conflict handling, and type mapping, all built and maintained by your team.

Stacksync syncs tables or collections between Elasticsearch and MySQL continuously and bi-directionally, translating types between the two engines and resolving conflicts by rules you configure. Rows written on either side appear on the other within seconds.

Common use cases

  • Push product catalog data from an ERP or commerce database into Elasticsearch for storefront search.
  • Mirror support tickets into an index used for full-text search and agent-assist tooling.
  • Two-way sync between a MySQL application database and a CRM so operational records and sales records stay identical
  • Expose SaaS objects as MySQL tables so legacy internal tools built on MySQL can read live business data

Shared reference data between services

Services that own separate databases stay consistent on the records they share, without a custom replication layer.

Regional or environment copies

Mirror selected tables to another region or environment continuously, filtered to just the rows that should travel.

Cross-engine sync

Keep the same dataset live in both Elasticsearch and MySQL, so each workload runs on the engine that suits it.

What you can sync between Elasticsearch and MySQL

Representative objects on each side — any object or custom field can map to any target. Schemas are auto-detected; types are converted between the two systems.

Elasticsearch objects MySQL objects
Ingest pipelines Server-side transforms applied to documents as a sync writes them. Tables The primary sync target; rows map to records in connected systems.
Index templates Reusable settings and mappings applied automatically to new indices a sync creates. Views Read-side projections used as outbound sync sources.
Indices Target containers for synced records; each holds a table-like collection of JSON documents. Columns Field-level mapping targets with engine-typed values.
Documents The unit of sync; JSON records created, updated, and deleted by _id. Primary and Unique Keys Match keys for idempotent upserts and conflict handling.
Index mappings Field type definitions that determine how synced fields are indexed and queried. JSON Columns Validated semi-structured payloads for nested SaaS data.
Aliases Stable read/write names that let a sync cut over between index versions without downtime. Stored Procedures Server-side logic that can post-process synced rows.
What ships with Elasticsearch ⇄ MySQL

Connect Elasticsearch and MySQL for flexible, real-time data sync.

Real-time sync, workflow automation, event queues, EDI, and monitoring, for every Elasticsearch–MySQL connection.

Real-time

Two-way sync

Changes in Elasticsearch or MySQL instantly reflect in both systems. No stale data, no manual imports.

No-code + pro-code

Workflow automation

Trigger automated workflows whenever Elasticsearch or MySQL data changes, update records, fire webhooks, or kick off sequences without brittle API scripts.

At scale

Event queues

Handle millions of events per minute without losing a single Elasticsearch or MySQL record.

Observability

Monitoring

Track your Elasticsearch ⇄ MySQL sync health, view errors, and replay failed events in one click.

Trading partners

EDI

Transform legacy EDI complexity into simple database interactions between Elasticsearch and MySQL.

How the Elasticsearch and MySQL connectors work

Elasticsearch

Integration surface
REST API (JSON over HTTP)
Authentication
API keys or basic authentication; Elastic Cloud also issues service account tokens
Change detection
Polling on timestamp or sequence fields; Elasticsearch does not expose a native change feed or webhooks
Capabilities
read · write
Rate limits
No fixed request quota; throughput is bounded by cluster sizing, thread pools, and bulk queue capacity

MySQL

Integration surface
SQL wire protocol (MySQL client/server protocol)
Authentication
Database credentials entered as a connection string or parameters, with optional SSL root certificate upload and optional SSH tunnel (SSH user + SSH host)
Change detection
Database triggers — Stacksync creates deterministic triggers for internal logging and syncing (requires log_bin_trust_function_creators=ON when binary logging is enabled)
Capabilities
read · write · CDC
Rate limits
No API rate limits; throughput is bounded by connection limits and server resources
MySQL setup guide
How it works

How to connect Elasticsearch to MySQL — three steps, no code

Configure and sync within minutes, no code. Whether you sync 50k or 100M+ records, Stacksync handles the queues, infra, and plumbing. Integrations are non-invasive and need zero setup on your systems.

  1. 01

    Connect your apps

    Authenticate Elasticsearch and MySQL with each platform's native method — OAuth, API keys, or service accounts — plus secure options like SSH tunneling, IP whitelisting, and VPC peering.

    • OAuth 2.0
    • SSH tunnel
    • VPC peering
    Elasticsearch connected
    MySQL connected
    OAuth 2.0
    SSH tunnel
    SSL certificate
    VPC peering
  2. 02

    Choose tables

    Pick the Elasticsearch and MySQL objects to sync — Stacksync auto-detects both schemas, including custom fields where the platform exposes them. Sync to existing tables, or let Stacksync create new ones with ideal data types.

    • Standard objects
    • Custom objects
    • Auto-schema
    objects · Elasticsearch ⇄ MySQL
    Customers 12,480
    Sales Orders 8,213
    Invoices 5,902
    Items 1,344
  3. 03

    Map fields

    Fields map automatically even when names and types differ. Stacksync handles transformation and type casting for you, zero configuration required.

    • Auto-map
    • Type casting
    • Transforms
    Elasticsearch MySQL
    Company company_name text
    Email email text
    Amount amount numeric
    Created created_at timestamp
FAQ

Elasticsearch and MySQL integration FAQ

SECURITY

Security teams love Stacksync

As a data company, we understand the importance of keeping your data secure. Stacksync is built with security best practices to keep your data safe at every layer, and is DPF-certified for US, EU, UK and CH data transfers.

SOC 2 type II
ISO 27001
HIPAA BAA
GDPR
CCPA
CSA STAR
DPF US-EU-UK-CH
→ SECURITY WITH BENEFITS

SSO & SCIM

Let your users access Stacksync from your centralized user management systems. Works with Okta, Azure, Google SSO and more.

Alerts

Immediately get alerted about record syncing issues over email, Slack, PagerDuty and WhatsApp. Resolve issues from a centralized dashboard with retry and revert options.

Secure connection options

Securely connects to your systems with:

Related integrations

Every pair below is a real-time, two-way sync. Search all 386 integrations available for Elasticsearch and MySQL.

Popular · 8 of 386
Coworkers laughing in front of a laptop in a casual office setting

Your last integration took months.
Your next one takes a prompt.