Natknąłem się na ten błąd i to z powodu odmowy SELinux. /usr/bin/httpd nie miał uprawnień do połączenia z portem 3306. Poprawiłem ten problem za pomocą:
setsebool httpd_can_network_connect_db on
Wydaje się działać świetnie i powinien być bezpieczniejszy niż samo wyłączenie SELinux. Jak Avinash Meetoo wskazuje poniżej, możesz użyć:
setsebool -P httpd_can_network_connect_db
Aby zmiana selinux utrzymywała się po ponownym uruchomieniu.