Common Issues
Connection issues
"Connection refused" or "Cannot connect to MySQL server"
Your MySQL server is not reachable. Check:
Hostname and port — make sure you're using the correct hostname or IP address and port (default is 3306)
Server is running — verify your MySQL service is active
Firewall/security group — if your database is on AWS RDS, Google Cloud SQL, or behind a corporate firewall, you must whitelist Coupler.io's IPs: 52.21.222.113 and 35.170.113.181
Network connectivity — test connectivity from your local machine using a MySQL client (e.g.,
mysql -h hostname -u username -p)
"Access denied for user" or authentication failure
Your credentials are incorrect or the user doesn't have the right permissions.
Verify username and password — double-check spelling and special characters
Check user permissions — the user must have SELECT permission on the database and table(s). Run this in MySQL to grant access:
GRANT SELECT ON database_name.* TO 'username'@'%';Test credentials locally — try connecting with the same credentials using a MySQL client from your computer
Remote access — if using
'username'@'localhost', change it to'username'@'%'to allow remote connections
IP whitelisting: "Your MySQL is blocking Coupler.io"
Your firewall or security group is rejecting Coupler.io's connection attempt.
Add these IPs to your firewall:
52.21.222.113
35.170.113.181
AWS RDS — edit your security group, add an inbound rule for TCP port 3306, source: 52.21.222.113/32 and 35.170.113.181/32
Google Cloud SQL — go to Connections > Public IP > Authorized networks, add both IPs with /32 CIDR
Azure MySQL — Server parameters > Connection security > Firewall rules, add both IPs
Other providers — check your hosting provider's documentation for adding IP allowlists
Missing data
Exported data is missing rows or columns
Check table permissions — the user account must have SELECT permission on all columns and rows. Run:
GRANT SELECT ON database_name.table_name TO 'username'@'%';Verify the table name — make sure you selected the correct table (case-sensitive in some MySQL configurations)
Filters applied — check if any filters are active in your data flow that might be hiding rows
View definition — if exporting a view, verify the view's SQL is correct and returns the expected data
Data appears to be truncated or incomplete
Large tables or long-running queries can timeout.
Apply filters — filter by date range or status to reduce the volume of data (e.g., last 30 days instead of all history)
Split into multiple flows — create separate data flows for different date ranges or logical subsets of data
Check query performance — run the same query in MySQL Workbench or command line to confirm it completes quickly
Contact support — if your export consistently times out, reach out; we can investigate timeout settings
Permission errors
"Permission denied" or "Table doesn't exist"
Verify the database name — MySQL database and table names are case-sensitive on Linux/Mac
Check user privileges — ensure the user has SELECT on the specific database:
Verify user host — if the user is set up for
'username'@'localhost', change to'username'@'%'for remote accessTest locally — connect to MySQL locally with the same credentials and run
SELECT * FROM table_name;to confirm access
Data discrepancies
Data in my spreadsheet doesn't match what I see in MySQL
Timestamp/timezone issues — MySQL may store times in UTC; check if a timezone offset is causing mismatches
Data type formatting — JSON or complex data types may display as text strings; MySQL stores them as strings, so this is expected behavior
Filters applied — verify no filters are active in your data flow that would exclude rows
Deleted or updated rows — if your MySQL data changed between exports, the spreadsheet will reflect the latest export
Timestamps or dates are incorrect
Timezone mismatch — MySQL TIMESTAMP columns are stored in UTC; if your application uses a different timezone, convert in MySQL:
DATETIME vs TIMESTAMP — DATETIME stores raw values (no timezone), while TIMESTAMP converts to UTC; check which your table uses
Destination formatting — Google Sheets or Excel may display dates differently; check the cell format in your destination
Rate limits
"Query timeout" or "The operation timed out"
Your query is taking too long to execute, likely due to table size or slow query performance.
Apply filters — restrict data by date range, status, or other criteria:
Export smaller batches — split large tables into multiple data flows (e.g., one flow per month)
Optimize your table — ensure indexes exist on commonly filtered columns (created_at, status, user_id, etc.)
Reduce frequency — if scheduling hourly exports, consider switching to daily to reduce database load
Contact support — if timeouts persist on small queries, we can investigate further
Last updated
Was this helpful?
