安装最新的没有sql8.x的版本使用php连接数据库后报错Warning: mysqli_connect(): The server requested authentication method u

记录下错误:
当我使用navicat 连接数据库时可以正常连接 使用php代码

<?phpmysqli_connect('127.0.0.1','root','123456','demo');?>

再次确认了函数的使用方法和账号密码都正确的

原因:最新的mysql在MySQL 8.0.11中,caching_sha2_password是默认的身份验证插件,而不是以往的mysql_native_password。有关此更改对服务器操作的影响以及服务器与客户端和连接器的兼容性的信息,请参阅caching_sha2_password作为首选的身份验证插件。(翻译自https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html

解决方法:
1.打开cmd 窗口 进入mysql的安装目录

cd C:\mysql\bin

2.进入mysql的环境中

mysql -h localhost -u root -p  

3.执行SQL语句

> use mysql  
> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';  
> FLUSH PRIVILEGES;            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值