PHP与MySQL 8.0+错误:服务器请求的身份验证方法未知

这个问题已经在这里有了答案:

php mysqli_connect:客户端未知的身份验证方法[caching_sha2_password] 8个答案

我在PHP 7.0上运行MySQL版本8。

当我尝试从PHP连接到数据库时出现以下错误:

连接错误:SQLSTATE [HY000] [2054]服务器请求客户端未知的身份验证方法

PHP可能显示此错误

警告:mysqli_connect():服务器在第10行的D:\ xampp \ htdocs \ reg \ server.php中请求客户端[caching_sha2_password]未知的身份验证方法

我该如何解决这个问题?

8个解决方案

106 votes

@mohammed,这通常归因于您的mysql数据库正在使用的身份验证插件。

默认情况下,由于某种原因,mysql 8的默认插件是auth_socket。 应用程序通常会期望使用密码登录到数据库。

如果尚未更改mysql默认身份验证插件,则可以通过以下方法进行更改:

1.以root用户身份登录到mysql

2.运行以下sql命令:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password

BY 'password';

用您的根密码替换“密码”。 如果您的应用程序没有以root用户身份登录到数据库,请用应用程序使用的用户替换上述命令中的'root'用户。

数字海洋在这里阐述了更多有关此内容安装Mysql

Elias Gikonyo answered 2020-07-02T03:34:18Z

39 votes

您必须更改MySQL设置。编辑my.cnf文件,并将此设置放在mysqld部分:

[mysqld]

default_authentication_plugin= mysql_native_password

然后运行以下命令:

FLUSH PRIVILEGES;

上面的命令将使默认身份验证机制的更改生效。

michail_w answered 2020-07-02T03:34:46Z

36 votes

我已经尝试了很多方法,但是只有这对我有用

感谢您的解决方法

检查你的**。env

MYSQL_VERSION=latest

然后输入此命令

$ docker-compose exec mysql bash

$ mysql -u root -p

(以root用户身份登录)

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

ALTER USER 'default'@'%' IDENTIFIED WITH mysql_native_password BY 'secret';

然后去phpmyadmin并登录为:

主机-> MySQL的

用户->根

密码-> root

希望对你有帮助

Taioli Francesco answered 2020-07-02T03:35:45Z

4 votes

这里没有答案对我有用。 我要做的是:

重新运行安装程序。

选择产品“ MySQL Server”旁边的快速操作“重新配置”

浏览选项,直到找到“身份验证方法”,然后选择“使用旧式身份验证方法”

之后,它工作正常。

Stuperfied answered 2020-07-02T03:36:23Z

1 votes

我正在使用Laravel Lumen构建一个小型应用程序。

对我来说,这是因为我的.env文件中没有定义DB_USERNAME。

DB_USERNAME=root

设置这个解决了我的问题。

CIRCLE answered 2020-07-02T03:36:51Z

1 votes

面对同样的问题,我无法使用mysql版本8运行wordpress docker容器,因为其默认身份验证机制是caching_sha2_password而不是mysql_native_password。

为了解决此问题,我们必须将默认身份验证机制重置为mysql_native_password。

在mysql安装中找到my.cnf文件,通常在linux机器上,它位于以下位置-/ etc / mysql

编辑my.cnf文件,并在标题[mysqld]下添加以下行

default_authentication_plugin = mysql_native_password

保存文件,然后使用root用户登录到mysql命令行

运行命令FLUSH PRIVILEGES;

shivinder thakur answered 2020-07-02T03:37:38Z

0 votes

在my.cnf文件中,检查以下2个步骤。

检查此值-

old_passwords = 0;

它应该是0。

还要检查此-

[mysqld] default_authentication_plugin = mysql_native_password另一个检查的价值是要确保

[mysqld]部分应该是这样的。

sanjaya answered 2020-07-02T03:38:24Z

0 votes

preferences -> mysql -> initialize database -> use legacy password encryption(instead of strong) -> entered same password

作为我的config.inc.php文件,重新启动了apache服务器,它开始工作了。 我对此仍然感到怀疑,所以我停止了apache和mysql服务器,然后再次启动它们,现在它可以工作了。

Trần Đức answered 2020-07-02T03:38:44Z

php数据库用户名验证失败,PHP与MySQL 8.0+错误:服务器请求的身份验证方法未知...相关推荐

  1. mysql客户端不支持_MySQL 8.0 - 客户端不支持服务器请求的身份验证协议; 考虑升级MySQL客户端...

    MySQL 8.0 - 客户端不支持服务器请求的身份验证协议; 考虑升级MySQL客户端 我是node.js和MySQL初学者,我刚开始设置并尝试一些基本代码.但是,由于某种原因,我甚至无法与服务器建 ...

  2. mysql navicat授权_Mysql授权允许远程访问解决Navicat for MySQL连接mysql提示客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端...

    Navicat Premium连接MySQL 1251错误 MySQL Installer 8.0.17 ​ 出现上述错误的原因是版本MySQL 8.0.17即8.0开始的MySQL版本,因为采用新的 ...

  3. VMware View Client 连接服务器,提示身份验证失败,连接服务器时

    第一次安装或则重装系统后安装VMware View的时候  点击下一步 然后连接服务器地址  例如:192.168.xx.xxx,点击连接后,在输入账号的时候弹出VMware View Client ...

  4. php smtp用户名和密码错误,PHPMailer中的“SMTP错误:无法进行身份验证”

    我在一个简单的脚本中使用PHPMailer通过Gmail发送电子邮件,我得到一个"未知错误"(至少对我而言!): SMTP错误:无法进行身份验证 . 错误:SMTP错误:无法进行身 ...

  5. mysql8 win10启动_Windows10 mysql 8.0.12 非安装版配置启动方法

    本文为大家分享了mysql 8.0.12非安装版配置启动的具体步骤,供大家参考,具体内容如下 1.官方下载地址 选择: MySQL Community Edition -> MySQL Comm ...

  6. mysql8.1改密码,mysql 8.0以上版本修改root密码的方法

    昨天发布了一篇关于在win系统下安装配置mysql的教程,今天就有同学来咨询 mysql 8.0 以上的版本如何去修改 root 账号的密码.由于 mysql 8.0 以上版本的密码策略得到了加强,网 ...

  7. IIS 指定了身份验证方案“IntegratedWindowsAuthentication, Anonymous”,但绑定仅支持一种身份验证的规范。...

    IIS 指定了身份验证方案"IntegratedWindowsAuthentication, Anonymous",但绑定仅支持一种身份验证的规范.有效的身份验证方案为摘要.协商. ...

  8. android 短信 代码错误,android – Firebase手机身份验证错误:短信代码已过期

    根据文档实施FireBase手机身份验证后,我遇到了一些问题. >某些号码无法通过身份验证:我使用Airtel作为我的服务提供商. 在日志中,我可以确认代码已经发送但我没有在手机上收到它: D/ ...

  9. HTTP 请求未经客户端身份验证方案“Anonymous”授权。从服务器收到的身份验证标头为“Basic realm=xxxxx”

     asp.net调用java的Web service(Web服务),需要用户及密码认证,弹出IE的登录窗口. 出现如下错误:HTTP 请求未经客户端身份验证方案"Anonymous&qu ...

  10. 数据库 SQL Server错误18456,window身份验证登录失败解决办法

    解决办法: 使用sa进入,新建查询,输入 CREATE LOGIN [Data-PC\zy] FROM WINDOWS 执行查询语句,再次登录成功. 身份验证名可以先使用widows验证,就可以看到名 ...

最新文章

  1. 服务器宽带性能如何?----internet性能测试站点汇集
  2. 使用C#为.NET Interactive开发自定义扩展
  3. 【转载】C#中可使用string.Empty代表空字符
  4. VMware安装Linux(CentOS7)
  5. MVC三层架构在各框架中的特征
  6. [翻译]AKKA笔记 - DEATHWATCH -7
  7. NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver.
  8. md 阅读器_职场办公神器:文石BOOX Nova Pro 电子书阅读器测评
  9. pythonplatform标识_Python utils.platform方法代码示例
  10. 安卓问题报告小记(四):Some projects cannot be imported because they already exist in the workspace...
  11. npm publish发布包时出现403错误no_perms Private mode enable, only admin can publish this module:
  12. 低代码--低代码开发(LCDP)介绍
  13. 【实用案例】R语言gdm函数实现地理探测器分析
  14. 李宏毅机器学习--课后作业HW_1
  15. cs1.6国内正版服务器,2021最新CS1.6 HLDS 8684 纯净比赛服务端(Win版)
  16. 卫星电视的双本振,单本振及高频头相关知识普及
  17. 华为LACP链路聚合配置
  18. 关于互相尊重和直言有讳
  19. matlab显示图像全黑,请教!彩色图像显示出来怎么是全黑的?
  20. 企业邮箱服务器搭建,如何搭建企业邮箱服务器

热门文章

  1. Hive中运行任务报错:Error during job, obtaining debugging information...
  2. 伯努利分布、泊松分布
  3. R | Rstudio安装 |Rstudio空白及显示无法访问此网站
  4. Chrome浏览器取色器
  5. 403forbidden
  6. 网络安全之主动攻击和被动攻击
  7. 叉积 微分 恒等式_单摆-微分方程浅谈
  8. c语言next函数定义,c语言的数据结构中,next是如何指向下一个元素的?
  9. 每天记忆五个词根之五
  10. cnode社区vue和react渲染