背景:学习黑马微服务时,使用Navicat远程连接容器中的MySQL一直报错2003(10060),原因是容器中的MySQL配置的root用户的访问连接权限,只能是本地连接。
解决方式:
1)查看docker容器是否启动:
docker ps -a
未启动的话:(mysql是我的容器名字)
docker start mysql
2)进入mysql容器(注意空格,root是用户名)
//进入mysql容器
docker exec -it mysql /bin/bash
//选择使用root用户的 密码登录
mysql -u root -p
3)进入mysql容器后,查看连接权限
//选择使用mysql数据库
use mysql
//查看sql表以及连接权限
select host, user, authentication_string, plugin from user;
如果你只有一个root用户,并且这个root用户的host是localhost,说明只能是本地连接,接下来给他修改为上图的%(表示任意地址都可以连接)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的mysql密码' WITH GRANT OPTION;
4)刷新权限
flush privileges;
5) 登录Navicat,新建连接(确保你的mysql是运行的,任务管理器的服务里看),选择SSH,主机为你的虚拟机地址,端口3306,用户名为root,密码是容器里的mysql密码,例如黑马项目的MYsql容器密码就是123
标签:容器,10060,密码,2003,报错,mysql,docker,root,连接 From: https://blog.csdn.net/m0_57985860/article/details/143936604