当前位置: 代码迷 >> 综合 >> Navicat 远程链接mysql 问题: 1251 client does not support ..
  详细解决方案

Navicat 远程链接mysql 问题: 1251 client does not support ..

热度:7   发布时间:2023-12-17 12:50:53.0

问题描述:

在学习docker时,我使用docker下载了一个mysql镜像,并将其放入了容器设置了映射并运行;但在使用navicat进行测试链接时出现了这个错误;由于docker下载镜像时,默认下载最新的镜像,而在此时的docker的mysql的tag中,这个可以从 docker hub 官网上看到是什么版本的,如图所示,我现在下载的是:8.0 的mysql,这也就问题的关键了,高版本的mysql中的用户的密码plugin是 非mysql_native_password 。
在这里插入图片描述

解决办法:

  • 使用docker命令进入命令行:docker exec -it xxxxxx bash
  • 进入mysql :mysql uroot -p
  • 查看mysql的用户信息:select host,user,plugin,authentication_string from mysql.user;

在这里插入图片描述
注意:host为 % 表示不限制ip ; localhost表示本机使用 plugin非mysql_native_password 则需要修改密码.

  • 将msyql 8.0 的不限制ip 的plugin修改mysql_native_password 命令:
mysql> USE mysql;mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'newpassword';mysql> FLUSH PRIVILEGES;

附录:

  • https://blog.csdn.net/qq_22211217/article/details/80415248
  • https://blog.csdn.net/u012604745/article/details/80632860
  • https://blog.csdn.net/changsimeng/article/details/82454214
  相关解决方案