PHP7.x无法连接MySQL8.0,但是本地命令行可以正常登录 , 是什么原因

今天遇到一个比较奇怪的问题,服务器本地安装的mysql 8.0 数据库,在服务器内部使用命令行mysql -uroot -p 是可以正常登录,正常查询; 但是安装wordpress 程序时,填写正常的数据库信息,老是会提示无法安装,报错如图2.

今天遇到一个比较奇怪的问题,服务器本地安装的mysql 8.0 数据库,在服务器内部使用命令行mysql -uroot -p 是可以正常登录,正常查询;

但是安装wordpress 程序时,填写正常的数据库信息,老是会提示无法安装,报错如图2.

attachments-2024-10-iWImSbQU6710cf46c6deb.png

attachments-2024-10-mIlF5Jr96710cf5166731.png

原因:

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


解决办法:

1、修改用户

ALTER USER 'database_name'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

2、授权并刷新权限

GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost';

FLUSH PRIVILEGES;


3、修改数据库配置文件my.cnf

在 [mysqld] 节点下 增加 

default_authentication_plugin=mysql_native_password


然后重启数据库


  • 发表于 2024-10-17 16:50
  • 阅读 ( 141 )
  • 分类:服务器

0 条评论

请先 登录 后评论
东北大表哥
东北大表哥

自由职业

178 篇文章

作家榜 »

  1. 东北大表哥 178 文章
  2. 小鹄 1 文章
  3. 阿天 0 文章
  4. 新百胜在线 0 文章
  5. 刘明明 0 文章
  6. 个的德3 0 文章
  7. 铂天先生 0 文章
  8. 王达 0 文章