Edit report at https://bugs.php.net/bug.php?id=76651&edit=1
ID: 76651
Updated by: johannes@php.net
Reported by: itaylorswift365 at gmail dot com
Summary: Can't establish a connection to MySQL after
upgrading PHP from 7.2.7 to 7.2.8
Status: Assigned
Type: Bug
Package: MySQLi related
Operating System: Debian 9.5 x64
PHP Version: 7.2.8
Assigned To: mysql
Block user comment: N
Private report: N
New Comment:
Reverting doesn't make a thing better.
Root cause: MySQL 8.0 added a new authentication scheme and made it default. PHP builds without this
patch can't use that scheme at all and have to switch to a different older, less secure,
mechanism.
The issues with this change are the dependencies. This new machanism requires OpenSSL and ext/hash
to be available. Without those statically compiled in (we can't do proper runtime guessing for
C symbols) we can't use them and have a compile-time decision to make.
The proper fix would be to enforce OpenSSL and ext/Hash similar to ext/date. It's 2018 and
basic security routines should be a thing users can rely on to be there ...
Reverting this change means that nobody can use the new authentication mechanism.
Previous Comments:
------------------------------------------------------------------------
[2018-09-04 04:05:40] nikic@php.net
I've reverted the MySQL auth changes via https://github.com/php/php-src/commit/03740ef7dffcc80530a89ebde3ccf5464f7f18e6
in all branches, which will hopefully resolve this issue.
------------------------------------------------------------------------
[2018-09-03 01:19:23] 104979058 at qq dot com
Sorry, 7.3.0 beta 3 connection mysql 8 has been tested in detail.
Need to change the configuration file, my.ini :
Default_authentication_plugin=mysql_native_password
Can you connect successfully.. Maybe this can help you.
------------------------------------------------------------------------
[2018-08-31 02:06:46] 104979058 at qq dot com
7.3.0beta3
mysqli Object
(
[affected_rows] => 0
[client_info] => mysqlnd 5.0.12-dev - 20150407 - $Id: 401a40ebd5e281cf22215acdc170723a1519aaa9 $
[client_version] => 50012
[connect_errno] => 0
[connect_error] =>
[errno] => 0
[error] =>
[error_list] => Array
(
)
å·²ç»ä¿®æ£äºçbug...
------------------------------------------------------------------------
[2018-08-27 18:55:06] no at mail dot here
first236108, root is already set out of the box to use the caching_sha2_password authentication
provider. Anyway, messing with MySQL settings does not fix the PHP bug introduced in PHP 7.2.8. We
just have to wait until the good folks from the PHP team figure what they messed up and fix.
------------------------------------------------------------------------
[2018-08-25 06:54:44] first236108 at 163 dot com
Oh, I think Eugene is right.
the problem is good for safety, mybe.
but I use the command solve the problem:
ALTER USER root@localhost IDENTIFIED WITH caching_sha2_password BY
'password';
good luck.è¯è¯´ï¼ä½ 们è½ç䏿?
è±è¯æ°´å¹³ä¸å¥½åååã
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=76651
--
Edit this bug report at https://bugs.php.net/bug.php?id=76651&edit=1