Sync Shopify to MySQL
without writing a line of code.
Pipe Shopify orders, products, customers, and inventory into MySQL — described in plain English. Source-available, self-hosted, customer PII excluded by default.
rsync.ai's Shopify connector uses the Admin GraphQL API (v2024-10) to extract 6 resources — orders, products, customers, collections, inventory_items, shop — and upserts them into MySQL on the schedule you set. Customer email, phone, and addresses are omitted from default queries. Works with MySQL 5.7+, RDS, Aurora, Cloud SQL, Azure Database, and PlanetScale.
- Plain-English pipeline setup — no YAML, no DAGs
- Scheduled batch sync (every minute / hour / day)
- Customer PII (email, phone, addresses) excluded from default queries
- Source-available under Elastic License 2.0 — self-hosted
How to sync Shopify to MySQL — 5 steps
From chat prompt to rows in MySQL — a few minutes for a small store.
- 1
Connect your Shopify store
Provide your Shopify store subdomain (e.g. acme.myshopify.com) and a Shopify Admin API access token — custom-app token or OAuth-issued. The header `X-Shopify-Access-Token` is the only credential rsync.ai uses.
shop + access_token - 2
Connect your MySQL database
Provide host, port, user, password — or paste a connection string. rsync.ai supports MySQL 5.7+, MariaDB, Amazon RDS, Google Cloud SQL, Azure Database for MySQL, and PlanetScale.
mysql://user:pass@host:3306/db - 3
Describe the sync in plain English
Type what you want: 'Sync orders, products, customers, and inventory from Shopify to MySQL every 15 minutes.' rsync.ai discovers your Shopify schema (6 resources) and proposes target tables.
No SQL · No YAML · No DAGs - 4
Pick the tables and approve
rsync.ai shows the 6 discovered Shopify resources with column counts and row estimates. Tick the ones you want, approve the proposed MySQL DDL. Nothing moves until you do.
- 5
Run on a schedule
Pipeline runs on the cadence you set. Each run paginates Shopify with cursors, upserts into MySQL on primary key, and resumes cleanly on transient errors. Watch live row counts and audit history in the UI.
End-to-end small-store sync: minutes, not seconds
Shopify → MySQL schema mapping
Standard mapping rsync.ai proposes. You can customize column names, types, and nullable fields before approving.
| Shopify resource | MySQL table | Notes | |
|---|---|---|---|
| Order | orders | Embedded line items (first 10 per order) — customer/email/address fields excluded | |
| Product | products | Embedded variants (first 5 per product) | |
| Customer | customers | PII-free by default: only id, timestamps, order metrics, tags | |
| Collection | collections | Includes productsCount, ruleSet | |
| InventoryItem | inventory_items | Embedded inventory_levels per location (first 5) | |
| Shop | shop | Singleton — 57 columns including plan, currency, timezone |
rsync.ai vs. Fivetran, Airbyte, Zapier for Shopify → MySQL
What you give up — and gain — choosing rsync.ai.