Ok, so my host upgraded to PHP 5.4.14 & MySQL 5.5.30-cll and Drupal stopped working. According to them Drupal isn't compatible...
My problem, is how to get my site back on. The following error is being displayed:

Warning: PDO::__construct(): The server requested authentication method unknown to the client [mysql_old_password] in /public_html/includes/database/database.inc on line 304

I am running the latest Drupal 7, no other problem prior to the server update.

Any help is more then welcome!

Comments

Zarevac’s picture

And I found a solution. I deleted the database users, and re-added them. All seems to be working fine.

tmcnamara98’s picture

Did you delete the MySQL Users and re-add them? i.e. not the Drupal users.

iLiss’s picture

Thank you!!
The solution worked for me

macmanluke’s picture

I have this same problem after upgrading my mysql / php this morning

cant figure out how to fix it? added new mysql users etc but no change!

HELP!!!

visitsouthall’s picture

Followed instructions above from Zarevac.

I only had one SQL user for that that SQL database.
I deleted the SQL user.
Re-created user – with same name and password
[Got that information from \sites\default\settings.php file]
Assigned SQL user to the database.

Everything was back to normal.

drpvsa’s picture

I did this through cpanel and I'm still getting that error: "Warning: PDO::__construct(): The server requested authentication method unknown to the client [mysql_old_password] in DatabaseConnection->__construct() (line 304"

Thoughts?

lev_lafayette’s picture

This is an ancient thread, but just in case anyone has the same problem ensure that you have granted the same privileges to the new recreated user as the old one.

eg., GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON database.* TO 'username'@'localhost' IDENTIFIED BY 'password';

Bricks and Clicks Marketing’s picture

I just deleted & recreated the user with the same password and am still getting the same error Warning: PDO::__construct(): The server requested authentication method unknown to the client [mysql_old_password] in DatabaseConnection->__construct() (line 307 of /home/folder/public_html/includes/database/database.inc).. Are there any other options? I also just switched to a new host & some sites have this error and some don't.

Arp Laszlo
bricksandclicks.marketing
design / theming / development / consulting

onegreypaw’s picture

I'm on a shared host and wasn't able to delete all db users inside PHP MyAdmin - kept telling me I had to keep at least 1 user. Instead after reaching out to their support team I had to downgrade PHP to version 5.3 to get things working again until they could figure out things on their end.

softstart’s picture

Followed instructions above from Zarevac.
my shared host upgraded to php 5.5
I deleted the SQL user (through c-panel).
Re-created user – with same name and password
Assigned SQL user to the database.

Everything works again as normal (flush browser cache).
Thanks Zarevac for this solution.