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

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

 

原因:

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

然后重启数据库