MySQL8.0无法用phpmyadmin登陆的解决方法
2018-05-11 22:58:38   来源:   评论:0 点击:

参考文章:https: www 51-n com t-4578-1-1 htmlSQLSTATE [HY000] [2054]服务器请求的客户端未知的身份验证方法。在MySQL 8 0+中,默认身份验证插件已从& 39;mysql_native_password& 39;更改为& 39;caching_
参考文章:https://www.51-n.com/t-4578-1-1.html

SQLSTATE [HY000] [2054]服务器请求的客户端未知的身份验证方法。

在MySQL 8.0+中,默认身份验证插件已从'mysql_native_password'更改为'caching_sha2_password','root'@'localhost'管理帐户默认使用'caching_sha2_password'身份验证插件。如果您希望root帐户使用之前的默认身份验证插件'mysql_native_password'。

PHP的PDO_MySQL和ext / mysqli扩展不支持caching_sha2_password。另外,当PHP 7.1.4之前的PHP版本和PHP 7.2之前的版本使用PHP MySQL扩展时,即使未使用caching_sha2_password,也无法与default_authentication_plugin = caching_sha2_password连接。

要恢复MySQL 8.0之前的兼容性,您可以重新配置服务器以恢复到以前的默认身份验证插件mysql_native_password,如:

重新启动MySQL数据库,问题应该得到解决,否则您可能需要重新初始化MySQL安装数据并重新安装。

您可以使用mysql命令行实用程序连接到MySQL数据库,然后使用带有SQL的旧版mysql_native_password插件创建新用户。

现在,您可以使用新创建的帐户在PHP中连接到MySQL数据库。使用新帐户连接到MySQL数据库后,您还可以更改现有用户的身份验证插件。 如果默认root用户限制为localhost,则ALTER USER语句将失败,并显示“ERROR 1396(HY000)”消息:ALTER USER因'root'@'%'“操作失败,因此必须将Host从localhost更改为%第一。
不要忘记用你自己的密码替换YOUR_PASSWORD_IN_TRANSPARENT_TEXT!

相关热词搜索:方法

上一篇:编译安装php7.1.17
下一篇:powshell 命令

分享到: 收藏