首页 » LANMP » mysql » 正文

php 无法连接MySQL8.0 问题

最近升了MySQL8.0 php连不上MySQL8.0了(mysqlnd API 不支持 caching_sha2_password)

MySQL8.0默认是使用caching_sha2_password 加密插件的,我们需要将该插件替换成原来的mysql_native_password 加密插件。

解决方案

1.添加用户并指定密码插件
在MySQL shell中输入:

eg:

这种方法兼容新老版本的认证方式

2.直接在mysql配置文件my.cnf的指定密码插件

改完配置后记得重启mysqld

参考资料:

  1. https://stackoverflow.com/questions/49083573/php-7-2-2-mysql-8-0-pdo-gives-authentication-method-unknown-to-the-client-ca
  2. https://dev.mysql.com/doc/mysql-installation-excerpt/8.0/en/upgrading-from-previous-series.html

发表评论

正在加载验证码......

请先完成验证