首先我们应该理解php连接mysql为什么会报错2054?

首先我们应该了解php连接mysql为什么会报错2054?
会出现这样的原因,第一个原因就是因为mysql8.0版本的缘故,8.0版本默认编码为utf8mb4,还有一种情况就是数据库冲突,因此我找到两种不同的解决方法,之前我在上网试了很多方法都没有想过会有数据库冲突。

 

解决方法一: 

MySQL配置文件my.ini中[mysqld]下加这两行
character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci
然后又出现了另一个问题:
The server requested authentication method unknown to the client
也是由于mysql版本缘故,8.0版本mysql账号密码解锁机制不一致
在数据库操作界面输入命令
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '账户密码';即可
或者在MYSQL配置文件my.iniz中[mysqld]下加入
default_authentication_plugin=mysql_native_password

 

解决方法二:

彻底根除MySQL即可。

更多推荐