docker mysql Client does not support
原因:
mysql 8.0 默认使用 caching_sha2_password 身份验证机制;客户端不支持新的加密方式。
而在docker中安装的mysql是用docker pull mysql命令安装的,由于默认版本号是最新的,所以版本一定在8.0以上。
而在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,点击连接测试。