Live — enterprise connector. Fully supported today (SAT-validated). One of Zwiron’s five production connectors: PostgreSQL, MySQL, MongoDB, Snowflake, BigQuery.
Supported sync modes
Connection details
Connection string
You can paste a URI into the connection form to autofill fields:Passwords with special characters
If the password contains URI-reserved characters, percent-encode them in the connection string. Otherwise the URI is parsed wrong (host/user look broken) and auth fails.
Example
Password:
4@p%,]PplAa@,P\%
Encoded password: 4%40p%25%2C%5DPplAa%40%2CP%5C%25
Permissions
For a source (read-only)
For a destination (read-write)
For CDC (additional permissions)
Enabling CDC
Step 1 — Enable binary logging
Add to/etc/mysql/my.cnf (or my.ini on Windows):
Step 2 — Verify binary logging is enabled
Step 3 — Enable CDC in Zwiron
When creating a pipeline, select CDC as the sync mode. Zwiron will connect using the binlog position automatically.Notes for managed MySQL
Amazon RDS for MySQL
Binary logging is enabled by default. Ensure the parameter group has:binlog_format = ROWbinlog_row_image = FULL
Amazon Aurora MySQL
Same as RDS MySQL. Binary logging must be enabled in the cluster parameter group.Google Cloud SQL for MySQL
Enable binary logging in the Cloud SQL instance settings (Backups → Enable binary logging). Replication user setup is the same.Hosted mode checklist (Cloud SQL)
Customers connecting Cloud SQL to Zwiron Hosted should do all of the following — this is the supported path, not a workaround:- Public IP enabled (Private IP alone is not reachable from Zwiron Hosted)
- Authorized Networks — add every Zwiron egress IP as
/32(CIDR). Do not use Use My IP - Database user — Cloud SQL → Users → Add User Account:
- Built-in authentication
- Allow any host (%)
- Dedicated user (not only
root)
- Grants on the database — creating a Cloud SQL user does not always grant table access. As an admin:
- Database exists under Cloud SQL → Databases
- In Zwiron, leave TLS at the default (
skip-verify) - Profile after sync finishes — mid-sync, data may sit in
*_zw_stgstaging tables; catalog fills once final tables exist and you re-run Profile
% on the MySQL user so HA egress works; least-privilege grants on the database. For no public IP at all, use Agent mode.
If Test Connection fails with “The request did not reach the server,” Authorized Networks is almost always the cause.If it fails with “Access denied,” the user was not created in Cloud SQL Users, or the password is wrong.
If Profile shows 0 tables, grant access on the database, wait for any running job to complete, then Profile again.
MySQL 8.4 and MySQL 9.x
MySQL 8.4 deprecatedSHOW MASTER STATUS in favour of SHOW BINARY LOG STATUS, and MySQL 9.x removed it entirely. Zwiron detects your MySQL version automatically and uses the correct command — no configuration needed.
Related guides
- MySQL CDC to BigQuery
- Hosted vs agent
- Product page: MySQL → BigQuery
Troubleshooting
Binary logging is not enabled
Binary logging is not enabled
You’ll see the error “MySQL binary logging is not enabled on this server. CDC requires binlog to be active.” if the MySQL server was started without binlog enabled.Add the following to your MySQL config file (Verify it is active after restarting:For managed databases (RDS, Cloud SQL, Azure), enable binary logging through the cloud console rather than editing config files directly — see the Notes for managed MySQL section above.
/etc/mysql/my.cnf or my.ini on Windows) and restart the server:Access denied for REPLICATION SLAVE
Access denied for REPLICATION SLAVE
Ensure the Zwiron user has been granted
REPLICATION SLAVE and REPLICATION CLIENT at the global level (ON *.*), not just on a specific database.Binary log position is invalid
Binary log position is invalid
This can happen if the binlog files have been rotated and the saved position no longer exists. The job will perform a full re-sync automatically.
Tables without primary keys are skipped in CDC
Tables without primary keys are skipped in CDC
MySQL CDC requires tables to have a primary key. Tables without a primary key will be synced using Full Refresh mode instead.
Clear text authentication / caching_sha2_password
Clear text authentication / caching_sha2_password
MySQL 8 defaults to
caching_sha2_password. Over TLS, the password is sent inside the encrypted session; Zwiron handles that automatically.If you still see cleartext or auth errors on Cloud SQL:- Leave TLS at
skip-verify(default for MySQL in Zwiron). - Confirm Authorized Networks include all Zwiron egress IPs.
- Create the user in Cloud SQL → Users (Built-in, Allow any host
%) — do not assume a SQL-only user exists. - Reset the password in the console and paste it exactly into Zwiron.
Access denied for user (Error 1045)
Access denied for user (Error 1045)
The username or password is wrong, or the user was never created in the cloud console. Open Cloud SQL → Users, add a built-in user with Allow any host (%), then retry.