Docker 安装mysql8.0 Navicat出现1251

首先我先膜拜一下Docker 这技术真的太牛逼了

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

一、先给大家贴一下我们报错信息

在这里插入图片描述

二、下载 mysql5.8 的镜像文件

// 下载
docker pull mysql;8.0

// 查询一下是否成功下载镜像
docker images 

三、启动镜像文件

// 启动
docker run -d -p 10235:3306 --name Mysql -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MSYQL_ROOT_PASSWORD=liu564580134 mysql:8.0

// 解释:
-d: 后台运行
--name: 给个名字标识
-v: 数据卷挂载(云服务器文件路径:镜像文件路径)
-e MSYQL_ROOT_PASSWORD: 设置密码
-p: 暴露端口(服务器对外端口:镜像端口)

3.1、查看是否启动成功

docker ps

在这里插入图片描述

四、Navicat链接试试:

Docker 安装mysql8.0 Navicat出现1251_第1张图片

五、解决:

grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;

ALTER user 'root'@'%' IDENTIFIED BY '你的密码' PASSWORD EXPIRE NEVER;

ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';

FLUSH PRIVILEGES;

六、再次链接

Docker 安装mysql8.0 Navicat出现1251_第2张图片

七、将修改后的mysql5.8镜像重新保存一份以后留着备用

docker commit -m="自己修改的链接密码和链接限制" -a="liurunyong<[email protected]>" 1686cd36f0c9 mysqlme:8.0

#解释(目标容器名称必须全英小写不然后会报错):
docker commit -m="提示信息" -a="作者" 运行的容器id  目标容器名称:版本号

至此解决问题 如有不对的地方请路过的大佬指导留备、如果帮到您请帮我点赞,感谢各位大佬,我依旧努力更新。

你可能感兴趣的:(linux,docker,centos,linux,mysql8.0,Navicat)