Troubleshooting
Connection failures, privilege errors, false differences and activation problems.
Connection problems
- Connection timed out
- The port is not reachable. Check the firewall or security group allows your machine's public address, and that the instance is listening on the port you gave. For a database with no public route, use the SSH tunnel option instead.
- Access denied for user
- The credentials are wrong, or the MySQL account is restricted to a different host pattern. Confirm the user exists for the host you are connecting from —
'user'@'%'and'user'@'localhost'are different accounts. - TLS handshake failed
- The server presents a certificate your machine does not trust, which is normal for managed instances using a private authority. Supply the provider's CA certificate in the connection dialog rather than turning verification off.
- Unknown database
- The schema does not exist on that server, or the account cannot see it.
SHOW DATABASEShides schemas the user has no privileges on.
Comparison problems
- An object looks identical but is reported as different
- Open it in the difference viewer to see the exact line. It is usually column-level collation, index column order, ROW_FORMAT, or a routine DEFINER. If it is a difference you keep deliberately, add a filter rule.
- Views or routines are missing from the results
- Reading view definitions requires
SHOW VIEW, and routine bodies require access toINFORMATION_SCHEMA.ROUTINES. Without them MySQL returns an empty definition and the object cannot be compared. - Comparison is slow
- Latency is usually the cause rather than schema size — each round trip is paid over the network. Compare from a machine close to the database, or take a snapshot and compare against that locally.
Synchronization problems
- A statement failed and the migration rolled back
- The target is back to its pre-migration state. The failing statement and the error MySQL returned are shown in the plan; the generated script is kept so you can correct it and re-run.
- Cannot add or update a child row
- Existing data violates a foreign key the migration is adding. Correct or remove the offending rows first — the constraint is doing its job.
- Lock wait timeout exceeded
- Another session holds a lock on a table being altered. Retry when the table is quiet, or run the exported script during a maintenance window.
Collecting diagnostics
Help ▸ Diagnostics writes a log of the current session to %APPDATA%\SchemaSync\logs. It records statements, timings and errors. Credentials are redacted, but read the file before sharing it — it does contain your object names.