docker mysql Client does not support

Posted 坤妹家萌萌哒萌新

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker mysql Client does not support相关的知识,希望对你有一定的参考价值。

原因:

mysql 8.0 默认使用 caching_sha2_password 身份验证机制;客户端不支持新的加密方式。
而在docker中安装的mysql是用docker pull mysql命令安装的,由于默认版本号是最新的,所以版本一定在8.0以上。

 

 

1、通过docker进入mysql容器

docker ps 找到容器名称

docker exec -it mysql(这里的mysql是指你启动时的容器名称) bash

 

2、给mysql设置权限

2.1#连接mysql#

mysql -uroot -p

2.2#赋权#
ALTER USER \'root\'@\'%\' IDENTIFIED WITH mysql_native_password BY \'你的密码\';
ALTER USER \'root\'@\'localhost\' IDENTIFIED WITH mysql_native_password BY \'你的密码\';
SELECT plugin FROM mysql.user WHERE User = \'root\';

通过navicat访问docker中的mysql,点击连接测试。

 

以上是关于docker mysql Client does not support的主要内容,如果未能解决你的问题,请参考以下文章

Navicat连接Docker中的mysql报错:client does not support authentication

Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法

Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法

mysql服务设置远程连接 解决1251 client does not support ..问题

使用navicat连接 mysql时出现client does not support auth...upgrading Mysql Client

已解决1251 - Client does not support authentication protocol requested by server; consider upgrading