MySQL connection timeouts

connectivityMySQL

Apparently, a former DB administrator configured our main DB server (located in Germany) so that it only would be accessable from certain IPs. Now we just added a new host (which needs to access that data) and for the life of me I cannot get it to do so. PHP-programs trying to connect just clock-out for about 30 seconds and then they time out with the following error:

[19-Jan-2016 13:35:51 America/New_York] PHP Warning: mysql_connect():
Connection timed out in /home/criterion/public_html/main_sms.php on line 10

I checked the IP tables and added the IP of the new client, to no avail.

Can anybody tell me WHERE is the "allowed IPs" list or something of that sort that grants or denies access to the database?

I did a " select * from user_privileges;" and it listed several records. The funny thing is that among the IPs listed there were not the ones that DO work. So that tells me that is not the place. I must be looking in the wrong place.

Best Answer

Inside MySQL, see the GRANTs. They are hopefully of the form of

GRANT ALL ON dbname.* TO user@'11.22.33.44' IDENTIFIED BY '...'.

Your probably may be solved as simply as copying that and changing the IP address. Well, change the IDENTIFIED BY part to IDENTIFIED BY PASSWORD('*1234ASDF...') -- the 41-char encrypted password you see in mysql.user.

Note: If you are on 5.7, or have an "authentication plugin" the instructions may be quite different.

Or...

It may be that the OS has firewall protections for port 3306 (or whatever MySQL is using), and you need to poke another hole in the firewall.