问题描述
今天在新电脑上安装开发环境使用了Docker Desktop来安装许多中间件,在安装了MySQL 8.0.29的镜像以后,再去使用Navicat连接docker里面的MySQL数据库发现报错,错误代码是2059.
解决方案
- 通过MySQL镜像运行容器,以下是我的运行指令
docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql
- 成功启动,嘴角微微上扬~!
- Navicat连接,Shit!!! 报错如图!
-
无奈只能谷歌寻求解决方案,最后解决的步骤如下
-
进入MySQL容器
docker exec -it mysql /bin/bash
- 按照上面截图三步走,下面到了重点
- 依次执行下面的命令
ALTER USER 'root'@'%' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;
- 重启MySQL容器,解决问题!
- Navicat连接成功,嘴角再次上扬~~