php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #77113 SQLSTATE[HY000] [2054] The server requested authentication method unknown to th
Submitted: 2018-11-06 10:49 UTC Modified: -
Votes:8
Avg. Score:4.6 ± 0.7
Reproduced:8 of 8 (100.0%)
Same Version:5 (62.5%)
Same OS:0 (0.0%)
From: Destroy666 at interia dot pl Assigned:
Status: Open Package: PDO MySQL
PHP Version: 7.2.11 OS: Alpine/Stretch FPM Docker image
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: Destroy666 at interia dot pl
New email:
PHP Version: OS:

 

 [2018-11-06 10:49 UTC] Destroy666 at interia dot pl
Description:
------------
In versions 7.2.4-7.2.10 the connection worked fine, but after upgrading I get the authentication method error that existed in earlier versions that didn't support MySQL 8 again.

Expected result:
----------------
The PDO authentication method should work correctly with MySQL 8.

Actual result:
--------------
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2018-11-16 17:12 UTC] nog76 at gmx dot de
I have exact the same issue, but running on Debian 9.6
After upgrading from PHP 7.2.10 to 7.2.11 most of my applications are getting this error message.
Btw. same behaviour with PHP 7.2.12
 [2018-11-18 17:46 UTC] nog76 at gmx dot de
Found the reason here:
https://github.com/phpmyadmin/phpmyadmin/issues/14220

This is related to commit php/php-src@d6e81f0 (https://github.com/php/php-src/commit/d6e81f0bfd0cb90586dd83d4fd47a4302605261a) which was later reverted by php/php-src@03740ef (https://github.com/php/php-src/commit/03740ef7dffcc80530a89ebde3ccf5464f7f18e6).

So the current workaround is to change back all mysql-database-passwords to mysql_native_password:
ALTER USER 'mysqlUsername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysqlUsernamePassword';
 
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Sun Dec 08 20:01:25 2019 UTC