版本:数据库:mysql8.0.27;php版本:5.4.3;ubantu 20.0.7
本来我是想开个discuz服务器,服务器也有了,后面在安装数据库的过程时遇到了错误
提示是客户端未知的服务器请求的身份验证方法
我登入mysql后将所有用户密码验证方式都改成了mysql_native_password
+-----------+------------------+-----------------------+
| host | user | plugin |
+-----------+------------------+-----------------------+
| % | root | mysql_native_password |
| 127.0.0.1 | Dty903mysql | mysql_native_password |
| localhost | Dty903mysql | mysql_native_password |
| localhost | debian-sys-maint | mysql_native_password |
| localhost | hehe | mysql_native_password |
| localhost | mysql.infoschema | mysql_native_password |
| localhost | mysql.session | mysql_native_password |
| localhost | mysql.sys | mysql_native_password |
+-----------+------------------+-----------------------+
8 rows in set (0.00 sec)
奇怪的是他仍然提示:
Warning: mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password]
不知道这是怎么回事,权限已经将/var/lib/mysql/ 777全给了
请各位大佬解答一下,谢谢
mysql 8.0 以后,caching_sha2_password是默认的身份验证插件,而不是以往的mysql_native_password。在 MySQL Command Line 工具下修改 mysql 的默认身份验证插件即可。推荐安装mysql5.7
mysql - uroot - p
--使用用户名密码登录 mysql
USE mysql;
--使用 mysql 数据库
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY '12345678';
--修改身份验证插件,假设用户名为 root,密码为 12345678(请改为你自己的用户名和密码)。
FLUSH PRIVILEGES;
--使更改生效