Czasami w php/mysql jest różnica między localhost a 127.0.0.1
W mysql przyznajesz dostęp na podstawie nazwy hosta, dla użytkowników lokalnych byłby to localhost. Widziałem php próbującego połączyć się z 'myservername' zamiast localhost, chociaż w konfiguracji zdefiniowano 'localhost'.
Spróbuj przyznać dostęp w mysql dla 127.0.0.1 i połącz się w php przez port 127.0.0.1 3306.