PHP连接mysql8.1 遇到的坑

在使用laravel时遇到SQLSTATE[HY000] [2054] 错误,原因是MySQL 8.1的认证方式问题。解决方法是在my.cnf中修改default_authentication_plugin为mysql_native_password。此外,文章还介绍了三种PHP连接MySQL的方式:mysqli面向过程、PDO和mysqli面向对象,并给出了示例代码。
摘要由CSDN通过智能技术生成

laravel 报错:

Illuminate\Database\QueryException : SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

 

用户的 Authentication type 默认为 caching_sha2_password,导致数据库连接错误,

这个方法不能解决问题:

https://laravel-china.org/articles/10736/some-craters-in-mysql-8011

最后解决:

修改 my.cnf  

default_authentication_plugin=mysql_native_password

 

 

 

补充:三种连接方式 

http://www.runoob.com/php/php-mysql-connect.html

1) mysqli 面向过程

$servername = "127.0.0.1";    #这里改了 localhost 无法连接
$username = "test";
$password = "

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值