Как правильно сказал Алек, проблема с разрешением:
Вы можете сделать это в командной строке MySQL:
grant all privileges on mydatabase.*
to youruser@'your_ip_address'
identified by 'your_password';
Вслед за:
flush privileges;
А затем попробуйте снова подключиться. Имейте в виду, что:
your_ip_adress: не IP-адрес сервера MySQL, а IP-адрес, с которого вы подключаетесь (ваш веб-сервер?)
your_password: это тот, который вы должны использовать при установлении соединения на стороне PHP
Также помните, что, хотя это решение должно работать, не рекомендуется предоставлять все привилегии пользователю, который будет использоваться веб-приложением. Вы можете сделать то же самое с меньшим количеством разрешений.
Вы можете сделать все это с помощью приятного графического интерфейса. Я предпочитаю командную строку.