Jag stötte på det här felet och det berodde på en SELinux förnekelse. /usr/bin/httpd hade inte behörighet att ansluta till port 3306. Jag åtgärdade problemet med:
setsebool httpd_can_network_connect_db on
Verkar fungera utmärkt och borde vara säkrare än att bara inaktivera SELinux. Som Avinash Meetoo påpekar nedan kan du använda:
setsebool -P httpd_can_network_connect_db
För att få selinux-ändringen att fortsätta under omstarter.