Dty903 2022-12-06 08:31 采纳率: 100%
浏览 21
已结题

mysql遇到客户端未知的服务器请求的身份验证

版本:数据库:mysql8.0.27;php版本:5.4.3;ubantu 20.0.7
本来我是想开个discuz服务器,服务器也有了,后面在安装数据库的过程时遇到了错误

img

提示是客户端未知的服务器请求的身份验证方法
我登入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全给了
请各位大佬解答一下,谢谢

  • 写回答

1条回答 默认 最新

  • IT技术分享社区 数据库领域优质创作者 2022-12-06 08:38
    关注

    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;
    --使更改生效
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月14日
  • 已采纳回答 12月6日
  • 创建了问题 12月6日

悬赏问题

  • ¥15 Opencv(C++)异常
  • ¥15 VScode上配置C语言环境
  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错