Někdy je v php/mysql rozdíl mezi localhostem a 127.0.0.1
V mysql udělujete přístup na základě názvu hostitele, pro místní uživatele by to byl localhost. Viděl jsem, že se php pokouší připojit s 'myservername' namísto localhost, i když v konfiguraci bylo definováno 'localhost'.
Zkuste udělit přístup v mysql pro 127.0.0.1 a připojit se v php přes 127.0.0.1 port 3306.