MySQL data in Google Sheets,
on the schedule you set.
Business teams get live MySQL data in the spreadsheet they already know — no SQL queries, no manual exports, no scripts. Describe the sync in plain English and rsync.ai handles the rest.
rsync.ai reads from MySQL using a read-only connection, maps column types to Google Sheets cell formats automatically, and writes rows to your target tab on the schedule you describe. Supports full replace (always consistent) and incremental append (faster for large tables). Works with MySQL 5.7+, RDS, Aurora, Cloud SQL, and PlanetScale. Google OAuth and service account auth both supported.
- Plain-English schedule — 'every morning at 9am', 'every hour'
- Auto column type mapping — TINYINT(1)→Checkbox, DECIMAL→Currency, DATETIME→Date
- Incremental append or full replace — per pipeline
- Multiple MySQL tables → multiple tabs in the same spreadsheet
How to sync MySQL to Google Sheets — 5 steps
From MySQL connection to scheduled Sheets refresh — typically under 5 minutes.
- 1
Connect MySQL
Provide your MySQL host, port (default 3306), username, password, and database name. rsync.ai opens a read-only connection — no binlog replication user required for the Sheets connector, just SELECT privileges on the tables you want to export. SSL/TLS and SSH tunnels are supported.
mysql://user:pass@host:3306/mydb — SELECT privileges only - 2
Connect Google Sheets
Authenticate via Google OAuth (your personal account) or a Google service account (recommended for production). With OAuth, rsync.ai gets access to the specific spreadsheet you share with it. With a service account, share the target spreadsheet with the service account email — rsync.ai will have editor access.
OAuth or service account — share the spreadsheet with rsync.ai - 3
Describe the sync in plain English
Type what you want: 'Export MySQL orders from the last 30 days to Sheet1 every morning at 9am.' or 'Refresh the products tab in my pricing spreadsheet every hour with MySQL data.' rsync.ai parses your intent, infers the SQL query, maps column types to Sheets cell formats, and proposes a target tab layout.
No SQL · No YAML · No scripts - 4
Review the column type mapping
rsync.ai shows each MySQL column and its proposed Google Sheets cell type — INT as Number, DATETIME as Date, VARCHAR as Text, TINYINT(1) as Checkbox, DECIMAL(10,2) as Currency, JSON as Text. You can adjust any mapping, rename columns, or exclude columns you don't want in the sheet.
INT→Number · DATETIME→Date · TINYINT(1)→Checkbox - 5
Approve and schedule
Approve the proposed tab layout. rsync.ai writes the first batch immediately so you can verify it looks right, then runs on the cadence you set. Each run either replaces the tab (full refresh) or appends new rows since the last run (incremental), based on your description.
First run immediate — then scheduled on your cadence
MySQL → Google Sheets column type mapping
Standard mappings rsync.ai proposes. You can override any mapping or exclude columns in the review step.
| MySQL column | Google Sheets cell type | Notes | |
|---|---|---|---|
| id (INT) | id (Number) | MySQL INT maps to a Sheets Number cell. Integer formatting applied — no decimal places shown. | |
| created_at (DATETIME) | created_at (Date) | MySQL DATETIME → Sheets Date with the format pattern you specify (default: YYYY-MM-DD HH:MM:SS). Timezone converted to UTC. | |
| customer_name (VARCHAR(255)) | customer_name (Text) | VARCHAR → plain Text cell. Cell width auto-sized to column name length on first write. | |
| is_paid (TINYINT(1)) | is_paid (Checkbox) | MySQL TINYINT(1) boolean convention → Google Sheets Checkbox cell. 1=checked, 0=unchecked. | |
| total_amount (DECIMAL(10,2)) | total_amount (Currency) | DECIMAL with 2 decimal places → Sheets Currency cell. Format pattern: $#,##0.00 by default (configurable). | |
| metadata (JSON) | metadata (Text) | MySQL JSON column serialised as a JSON string in a Text cell. Nested objects are not expanded — use a PostgreSQL destination if you need queryable JSON. |
rsync.ai vs. Zapier, Fivetran, manual CSV for MySQL → Google Sheets
How the options compare for keeping a spreadsheet in sync with MySQL.