docker容器使用navicat连接mysql错误解决

docker容器使用navicat连接mysql错误解决

正常启动mysql

启动mysql容器:docker run -p 3306:3306 --name My_mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
‐d:后台运行
‐p: 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口
--name 为容器指定一个名称:可选可不选:不选则自动生成
-e : 设置环境变量(带餐)
mysql :启动容器名 ,或者 mysql:5.7(容器名:版本号)

查看运行中容器:docker ps -a
查看所有容器:docker ps

启动正常的容器

使用navicat连接docker运行中的mysql容器错误:client does not support authentication protocol requested by server;consider upgrading mysql client

  • 使用:docker exec -i -t mynginx /bin/bash命令开启一个交互模式的终端;
  • 进入mysql终端
  • 其中:9c5aa5822e0e为:正在启动中的容器id
  • 连接mysql : mysql -u root -p
  • docker容器使用navicat连接mysql错误解决_第1张图片
  • 然后使用命令将用户的加密方式改为: mysql_native_password:alter user ‘root’@’%’ identified with mysql_native_password by ‘123456’;(以分号为结尾)
  • 最后使用命令:flush privileges;使权限配置项立即生效即可;

你可能感兴趣的:(学习)