Skip to main content
Live — enterprise connector. Fully supported today (SAT-validated). One of Zwiron’s five production connectors: PostgreSQL, MySQL, MongoDB, Snowflake, BigQuery.
Zwiron supports MySQL 5.7+ and MySQL 8.x as both a source and destination, with full CDC support via the binary log (binlog).

Supported sync modes


Connection details


Connection string

You can paste a URI into the connection form to autofill fields:
Optional TLS query param:

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
Prefer filling User and Password as separate fields when the password is complex — Zwiron stores them correctly without manual encoding. Use encoding only when pasting a full URI.

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):
Restart MySQL after making this change.

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 = ROW
  • binlog_row_image = FULL
Grant replication permissions:

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:
  1. Public IP enabled (Private IP alone is not reachable from Zwiron Hosted)
  2. Authorized Networks — add every Zwiron egress IP as /32 (CIDR). Do not use Use My IP
  3. Database user — Cloud SQL → UsersAdd User Account:
    • Built-in authentication
    • Allow any host (%)
    • Dedicated user (not only root)
  4. Grants on the database — creating a Cloud SQL user does not always grant table access. As an admin:
  1. Database exists under Cloud SQL → Databases
  2. In Zwiron, leave TLS at the default (skip-verify)
  3. Profile after sync finishes — mid-sync, data may sit in *_zw_stg staging tables; catalog fills once final tables exist and you re-run Profile
Security model: lock down who can reach the instance with Authorized Networks (Zwiron IPs only). Use % 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 deprecated SHOW 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.

Troubleshooting

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 (/etc/mysql/my.cnf or my.ini on Windows) and restart the server:
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.
Ensure the Zwiron user has been granted REPLICATION SLAVE and REPLICATION CLIENT at the global level (ON *.*), not just on a specific database.
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.
MySQL CDC requires tables to have a primary key. Tables without a primary key will be synced using Full Refresh mode instead.
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:
  1. Leave TLS at skip-verify (default for MySQL in Zwiron).
  2. Confirm Authorized Networks include all Zwiron egress IPs.
  3. Create the user in Cloud SQL → Users (Built-in, Allow any host %) — do not assume a SQL-only user exists.
  4. Reset the password in the console and paste it exactly into Zwiron.
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.
Last modified on July 13, 2026