Documentation

MySQL - Troubleshooting

Updated on

Dec 26, 2023

While configuring your MySQL connection, you may encounter several issues. Understanding these common errors can help streamline the setup process and facilitate quick resolutions.

Wrong input data

  • Wrong host (non-existent)
  • Wrong host (existing but wrong)
  • Wrong port
  • Denied access for a user
  • Wrong user
  • Wrong password
  • Wrong database name

Error messages:

{%docs-informer error%} "Can't connect to MySQL server on 'wrong-name.com' Make sure you provide the correct existing host." "Failed to connect to the server. Please check that host and port are correct. If your database is behind a firewall, make sure you whitelisted our IP's and select "Use static IP = YES" in connection parameters." "Access denied for user 'ip_restricted_user'@'{{xx.xx.xx.xx}}'. Please check that username and password are correct. If that didn't help, you should probably whitelist our IP's in MySQL configuration and select "Use static IP = YES" in connection parameters." "Access denied for user 'sender'@'%' to database 'wrong_name'. or Unknown database 'test'. Make sure you provide the correct database name and the user has access to it." {%docs-informer-end%}

General Solution

Verify Host Name and Port:

  • Ensure the hostname, like 'wrong-name.com', and port is correctly specified. Check for typos or incorrect details.
  • Confirm that the MySQL server is operational and accessible from your network.

Check Firewall and IP Whitelisting:

  • If your database is behind a firewall, whitelist the necessary IP addresses.
  • In your connection settings, enable the "Use static IP = YES" option for a consistent connection point.

Validate User Credentials:

  • For 'Access denied' errors, double-check the username and password for accuracy.
  • If using IP-restricted users, ensure that the IP address making the connection request is whitelisted in the MySQL configuration.

Database Name and User Access:

  • Confirm the database name is correct, especially if you encounter 'Unknown database' or 'Access denied' errors.
  • Check that the user has the necessary permissions to access the specified database in MySQL.

Retry Connection:

  • After making these verifications and adjustments, try connecting to the MySQL server again.

Refer to the Documentation if necessary.

Wrong permissions

Error message:

{%docs-informer error%} "DROP command denied to user 'read_only_user'@'{{xx.xx.xx.xx}}' for table 'im_test_table' Insufficient privileges to perform operations. You should grant all permissions specified in the docs." {%docs-informer-end%}

Solution

Grant Required Permissions:

  • For users performing operations on MySQL, the necessary permissions include ```CREATE TABLE```, ```CREATE INDEX```, ```ALTER TABLE```, ```SELECT```, ```INSERT```, ```DELETE```, and ```TRUNCATE```.
  • Use MySQL commands to grant these permissions to the user. For example, ```GRANT SELECT```, ```INSERT```, ```DELETE ON database_name.* TO 'user_name'@'host';``` will grant the user the ability to read, insert, and delete data in all tables of the specified database.

Review User Privileges:

  • After granting the permissions, use ```SHOW GRANTS FOR 'user_name'@'host';``` to verify that the user has the correct privileges.

Reattempt Operations:

  • Try performing the operations again to check if the 'Insufficient privileges' error is resolved.

Contact Database Administrator:

  • If you do not have sufficient access to grant these permissions or are facing challenges in configuring them, reach out to your MySQL database administrator for assistance.

Whitelist error

Error message:

{%docs-informer error%} "Host that the database user is connecting from is not allowed to connect to the MySQL server. Please grant access for the remote user from our whitelisted IP's." {%docs-informer-end%}

Solution

Grant Remote Access:

  • Modify your MySQL user's privileges to allow connection from the required IP addresses. Use the MySQL command: ```GRANT ALL PRIVILEGES ON database_name. * TO 'user_name'@'whitelisted_IP' IDENTIFIED BY 'password';```
  • Replace ```database_name```, ```user_name```, ```whitelisted_IP```, and ```password``` with your actual database name, username, the IP address you want to whitelist, and the user's password, respectively.

Update MySQL Configuration:

  • Ensure your MySQL server's configuration allows for remote connections. This might involve editing the ```my.cnf``` or ```my.ini``` file (usually found in the MySQL server directory) and updating the ```bind-address``` parameter to the server's public IP or ```0.0.0.0``` (for listening on all interfaces).

Restart MySQL Service:

  • After making changes to user privileges and configuration files, restart your MySQL server to apply the changes. This can typically be done using a command like ```sudo systemctl restart mysql``` on a Linux server.

Test Connectivity:

  • Once the MySQL server is up again, test the remote connection to ensure the user can successfully connect from the whitelisted IP.

Load problems

  • Exceeded Row Size Limit

Error message:

{%docs-informer error%} "Row size is too large. You are trying to load too many columns. Please, change your Data Table settings or use another destination connection." {%docs-informer-end%}

Solution

Reduce the Number of Columns:

  • Review your Data Table settings. Identify columns that are not essential for your operation and remove them to reduce the overall row size.
  • Optimize your table structure by splitting the table into smaller tables with fewer columns, especially if some columns are infrequently accessed.

Change Data Types:

  • Consider changing the data types of some fields to more space-efficient types. For example, switch from ```VARCHAR(255)``` to ```VARCHAR(100)``` if the maximum character length requirement allows.

Modify MySQL Settings:

  • Adjust the MySQL server configuration to handle larger row sizes. This might involve changing settings like ```innodb_page_size```. However, be cautious as this can have significant impacts on database performance and compatibility.
  • Be aware that making such changes might require a deeper understanding of MySQL configuration and its implications.

Use Another Destination Connection:

  • If modifying the table or MySQL settings is not feasible, consider using another destination connection that can handle larger row sizes or has different limitations.

Test Changes:

  • After making adjustments, test your data loading process again to ensure that the row size issue is resolved.

{%docs-informer info%} If none of the provided solutions worked, feel free to raise a request via the Service Desk {%docs-informer-end%}

Schema information

Setup guide

Settings

No items found.

Troubleshooting

Troubleshooting guides

Check out troubleshooting guides for
MySQL - Troubleshooting
here:

Limits

Frequently asked questions

No items found.
☶ On this page
Description
Related articles
No items found.
No items found.

Questions?

Improvado team is always happy to help with any other questions you might have! Send us an email.

Contact your Customer Success Manager or raise a request in Improvado Service Desk.