Skip to main content
Reference

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 DATABASES hides 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 to INFORMATION_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.