SymptomsWhen attempting to configure connection to client MySQL server in Plesk the following error is displayed:
Failed to connect to database: Access denied for user ‘admin’@’localhost’.
ResolutionThis problem occurs when Plesk connection to MySQL server used for clients’ databases, is incorrectly configured. To configure it back you need to complete the following steps:
1. Edit MySQL configuration file my.ini located within %plesk_dir%databases\mysql\data.
2. Add parameter skip-grant-tables into the [MySQLD] section.
3. Restart SQL Server.
4. Log into MySQL.
5. Execute the following query:
mysql> update user set password=password('current_password') where user='admin';
6. Remove skip-grant-tables from within the [MySQLD] section within %plesk_dir%\databases\mysql\data\my.ini
7. Restart MySQL Server.
Where `current_password` is the password of admin in client MySQL which is stored in Plesk. It is used by Plesk to control client MySQL server. The current password used by Plesk can be retrieved from the Plesk database using the query below:
%plesk_dir%\mysql\bin\mysql -uadmin -p`pleskadmin_password` -P8306 psa
mysql> select val from misc where param=’mysql_admin_passwd’;
Note: Starting from Plesk 8.x this password is stored in different database: DatabaseServers.
So, e,g, in case of using Mysql as database provider you can use the following command to retrive login and password to client mysql server:
select * from DatabaseServers where type='mysql'