php数据库用户名验证失败,PHP与MySQL 8.0+错误:服务器请求的身份验证方法未知...
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+错误:服务器请求的身份验证方法未知...相关推荐
- mysql客户端不支持_MySQL 8.0 - 客户端不支持服务器请求的身份验证协议; 考虑升级MySQL客户端...
MySQL 8.0 - 客户端不支持服务器请求的身份验证协议; 考虑升级MySQL客户端 我是node.js和MySQL初学者,我刚开始设置并尝试一些基本代码.但是,由于某种原因,我甚至无法与服务器建 ...
- mysql navicat授权_Mysql授权允许远程访问解决Navicat for MySQL连接mysql提示客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端...
Navicat Premium连接MySQL 1251错误 MySQL Installer 8.0.17 出现上述错误的原因是版本MySQL 8.0.17即8.0开始的MySQL版本,因为采用新的 ...
- VMware View Client 连接服务器,提示身份验证失败,连接服务器时
第一次安装或则重装系统后安装VMware View的时候 点击下一步 然后连接服务器地址 例如:192.168.xx.xxx,点击连接后,在输入账号的时候弹出VMware View Client ...
- php smtp用户名和密码错误,PHPMailer中的“SMTP错误:无法进行身份验证”
我在一个简单的脚本中使用PHPMailer通过Gmail发送电子邮件,我得到一个"未知错误"(至少对我而言!): SMTP错误:无法进行身份验证 . 错误:SMTP错误:无法进行身 ...
- mysql8 win10启动_Windows10 mysql 8.0.12 非安装版配置启动方法
本文为大家分享了mysql 8.0.12非安装版配置启动的具体步骤,供大家参考,具体内容如下 1.官方下载地址 选择: MySQL Community Edition -> MySQL Comm ...
- mysql8.1改密码,mysql 8.0以上版本修改root密码的方法
昨天发布了一篇关于在win系统下安装配置mysql的教程,今天就有同学来咨询 mysql 8.0 以上的版本如何去修改 root 账号的密码.由于 mysql 8.0 以上版本的密码策略得到了加强,网 ...
- IIS 指定了身份验证方案“IntegratedWindowsAuthentication, Anonymous”,但绑定仅支持一种身份验证的规范。...
IIS 指定了身份验证方案"IntegratedWindowsAuthentication, Anonymous",但绑定仅支持一种身份验证的规范.有效的身份验证方案为摘要.协商. ...
- android 短信 代码错误,android – Firebase手机身份验证错误:短信代码已过期
根据文档实施FireBase手机身份验证后,我遇到了一些问题. >某些号码无法通过身份验证:我使用Airtel作为我的服务提供商. 在日志中,我可以确认代码已经发送但我没有在手机上收到它: D/ ...
- HTTP 请求未经客户端身份验证方案“Anonymous”授权。从服务器收到的身份验证标头为“Basic realm=xxxxx”
asp.net调用java的Web service(Web服务),需要用户及密码认证,弹出IE的登录窗口. 出现如下错误:HTTP 请求未经客户端身份验证方案"Anonymous&qu ...
- 数据库 SQL Server错误18456,window身份验证登录失败解决办法
解决办法: 使用sa进入,新建查询,输入 CREATE LOGIN [Data-PC\zy] FROM WINDOWS 执行查询语句,再次登录成功. 身份验证名可以先使用widows验证,就可以看到名 ...
最新文章
- 服务器宽带性能如何?----internet性能测试站点汇集
- 使用C#为.NET Interactive开发自定义扩展
- 【转载】C#中可使用string.Empty代表空字符
- VMware安装Linux(CentOS7)
- MVC三层架构在各框架中的特征
- [翻译]AKKA笔记 - DEATHWATCH -7
- NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver.
- md 阅读器_职场办公神器:文石BOOX Nova Pro 电子书阅读器测评
- pythonplatform标识_Python utils.platform方法代码示例
- 安卓问题报告小记(四):Some projects cannot be imported because they already exist in the workspace...
- npm publish发布包时出现403错误no_perms Private mode enable, only admin can publish this module:
- 低代码--低代码开发(LCDP)介绍
- 【实用案例】R语言gdm函数实现地理探测器分析
- 李宏毅机器学习--课后作业HW_1
- cs1.6国内正版服务器,2021最新CS1.6 HLDS 8684 纯净比赛服务端(Win版)
- 卫星电视的双本振,单本振及高频头相关知识普及
- 华为LACP链路聚合配置
- 关于互相尊重和直言有讳
- matlab显示图像全黑,请教!彩色图像显示出来怎么是全黑的?
- 企业邮箱服务器搭建,如何搭建企业邮箱服务器