文章正文

docker安装mysql8以上版本 Authentication plugin ‘caching_sha2_password 报错解决

加入时间:2022/12/3 17:43:36

一. docker安装命令

首先要拉去一下 mysql的景象 

docker image pull mysql

容器名称: dockermysql
配置信息当前目录下conf文件夹: $PWD/conf
数据信息当前目录下data文件夹: $PWD/data
日志信息当前目录下logs文件夹: $PWD/logs
初始密码: root

注意,这里的$PWD代表linux下面的当前目录,在win10系统和win11系统中,如果是在WSL中运行也算是linux

我个人建议在windows下的管理员身份的cmd或者PowerShell中运行,下面我在D盘创建了三个运行成功,WSL中运行总有些奇怪的错误,暂时不知道怎么处理,时好时坏

docker run -p 3308:3306 --name one --restart -v D:\docker\one/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:latest --default-authentication-plugin=mysql_native_password

docker run -p 3309:3306 --name two --restart -v D:\dockerwo/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:latest --default-authentication-plugin=mysql_native_password

docker run -p 3333:3306 --name three --restart -v D:\dockerhree/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:latest --default-authentication-plugin=mysql_native_password

二. 客户端(Navicat)连接出现Authentication plugin ‘caching_sha2_password’ 解决方案(上面命令中带上参数即可解决问题)

如果你创建的时候命令行没有带蓝色参数运行命令如:

docker run -p 3333:3306 --name three -v D:\dockerhree/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:latest

那么请按照下面步骤操作

1. 进入容器

docker exec -it dockermysql /bin/bash

2. 登录mysql

mysql -u root -p

3. 输入密码

输入mysql安装时设置的密码(root)

4. 切换数据库修改密码方式

use mysql;

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

5. 刷新生效

FLUSH PRIVILEGES;

6. 退出mysql

exit;

7. 退出docker

exit;

三. 关机后再次开机启动容器

docker start dockermysql

 


 

字体大小[ ]

版权所有:有信心——uxinxin 我的个人网站欢迎常来!手机版(新站开启,请多多关照) 豫ICP备12017930号-1
 豫公网安备 41910102000493号