记录一个连不上docker中的mysql的问题

引言

使用的debian12,不同发行版可能有些许差异,连接使用的工具是navicat lite

本来是毫无思绪的,以前在云服务器上可能是防火墙的问题,但是这个桌面环境我压根没有使用防火墙。

直到

cpp 复制代码
ying@192:~$ mysql -h127.0.0.1 -uroot
ERROR 1045 (28000): Access denied for user 'root'@'172.17.0.1' (using password: NO)

上面这个报错不用担心,是没有输入密码的原因(-p),但是初见端倪,ip地址定位到了docker0网络,而不是本机的192

cpp 复制代码
ying@192:~$ mysql -hlocalhost -uroot
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

使用了localhost根本不能连接,因为localhost下的mysql服务被我关闭了,只有docker下的mysql5.7在运行。

所以本质上还是localhost和127.0.0.1的区别

解决方法

将主机名由默认的localhost改为127.0.0.1

结论

使用环回地址127.0.0.1会智能的将流量给到docker0网络,而使用localhost这会萨比的把流量发给本机的网卡地址。本文不讨论两者的具体区别,只是对该问题的记录

引用

https://stackoverflow.com/questions/68306070/docker-compose-cant-connect-to-my-mysql-container

相关推荐
冒泡的肥皂7 分钟前
MVCC初学demo(二
数据库·后端·mysql
小马哥编程20 分钟前
【软考架构】案例分析-对比MySQL查询缓存与Memcached
java·数据库·mysql·缓存·架构·memcached
极限实验室1 小时前
使用 Docker Compose 轻松实现 INFINI Console 离线部署与持久化管理
docker·devops
天地之于壹炁兮3 小时前
Docker革命:软件开发的集装箱时代
docker·容器·eureka
勇往直前plus3 小时前
Docker 拉取镜像:SSL 拦截与国内镜像源失效问题解决
docker·容器·https·ssl
醉卧雕龙舫 、4 小时前
五.docker环境搭建实例
docker
dlhto5 小时前
Oracle Linux 9 的 MySQL 8.0 完整安装与远程连接配置
linux·mysql·oracle
送秋三十五6 小时前
5分钟读懂MySQL+Redis双写一致性实现流程
数据库·redis·mysql
阿波罗尼亚7 小时前
查询修正字段sql记录
数据库·sql·mysql
缘的猿7 小时前
kubectl 学习心得:从入门到实践的 K8s 命令行掌控之旅
云原生·容器·kubernetes