专栏首页架构师进阶Client does not support authentication protocol requested by server

Client does not support authentication protocol requested by server

背景

环境:MAC Docker, Windows10 Docker

Mysql版本:8.0.19

启动命令:docker run -p 3307:3306 --name 8mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:latest

Navicat:11.0.19

现象:

Client does not support authentication protocol requested by server; consider upgrading MySQL client

解决方案

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

flush privileges;

原因

In MySQL 8.0, caching_sha2_password is the default authentication plugin rather than mysql_native_password.

mysql8.0以后, 默认加密plugin,是caching_sha2_password

需要改为Navi cat支持的mysql_native_password

mysql -u root -p

use mysql;

select host,user,plugin from user;

+-----------+------------------+-----------------------+
| host      | user             | plugin                |
+-----------+------------------+-----------------------+
| %         | root             | caching_sha2_password |
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session    | caching_sha2_password |
| localhost | mysql.sys        | caching_sha2_password |
| localhost | root             | caching_sha2_password |
+-----------+------------------+-----------------------+

执行完后:

+-----------+------------------+-----------------------+
| host      | user             | plugin                |
+-----------+------------------+-----------------------+
| %         | root             | mysql_native_password |
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session    | caching_sha2_password |
| localhost | mysql.sys        | caching_sha2_password |
| localhost | root             | mysql_native_password |
+-----------+------------------+-----------------------+

参考

6.4.1.2 Caching SHA-2 Pluggable Authentication

caching_sha2_password as the Preferred Authentication Plugin

docker安装mysql容器后,是用navicat连接报client does not support authentication protocol requested by server consider upgrading mysql client

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Spring Boot 定时任务之@Schedule

    项目经常会用到定时任务,实现定时任务的方式有很多种,参考Spring定时任务的几种实现。在Spring框架中,实现定时任务很简单。常用的实现方式是使用注解@Sc...

    用户2146693
  • Spring-RestTemplate实战

    这里总结一下,怎么用代码发起HTTP请求:Post、Get等。之前类似的请求都是用Postman。RestTemplate网上教程也是很多,但是编程就是要多实战...

    用户2146693
  • spring data jpa 入门

    项目中有用到spring data jpa,简单看了一下,在基础的数据库操作上,要比mybatis好用,简化了持久层的操作,使coder可以专注于业务逻辑的实现...

    用户2146693
  • 数据库升级

    今天晚上去看服务器,发现数据库的版本是5.7的,看起来挺新的。但是MySQL已经出了8.0了,受不了心中的渴望,所以就直接把源切到8.0新版本了。中国有一些坑,...

    魔王卷子
  • JS魔法堂:ASI(自动分号插入机制)和前置分号

    一、前言                                   今晚在知乎看到前端技术专家——贺师俊对《JavaScript 语句后应该加分号么?...

    ^_^肥仔John
  • 安装mysql5.7

    安装mysql5.7 wget http://dev.mysql.com/get/mysql57-community-release-el6-9.noarch....

    零月
  • (七)golang--变量之基本数据类型(看这篇就够了)

    (1)golang整数类型分为:有符号和无符号,int和uint的大小和系统有关;

    绝命生
  • JavaScript基本数据类型

    efonfighting
  • 前端知识小结

    1. var a=null==undefined?1:"abc"; var b=typeof(a); var c=typeof(b); var d=typeof...

    八哥
  • React Hook form 表单校验

    原生input,form多好啊。也可以结合ant 等的表单进行使用,更多的校验规则也可以指定别的库。

    我已经洗完澡了

扫码关注云+社区

领取腾讯云代金券