记录一个连不上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

相关推荐
J_bean10 小时前
MySQL 事务是否必须手动开启?
数据库·mysql·数据库事务·自动提交·手动提交
J_bean10 小时前
MySQL InnoDB 如何检测死锁、判定死锁、处理死锁
数据库·mysql·死锁·死锁检测·处理死锁·死锁判定
QX_hao10 小时前
【Kubernetes】 的三个Probe
容器·kubernetes
猫吃了源码15 小时前
k9s简介和安装
linux·docker·kubernetes
冰暮流星15 小时前
mysql之分组查询
数据库·mysql
云原生指北16 小时前
Docker Sandboxes 上手:从安装到第一次跑 Agent
运维·docker·容器
NiceCloud喜云17 小时前
腾讯云国际版云数据库选型:MySQL、Redis 怎么按业务架构来判断
数据库·mysql·腾讯云
ew4521817 小时前
MySQL JOIN 关联语法、差异、标准用法、经典坑点汇总
数据库·mysql
ziyun66688817 小时前
Docker 容器化 Web 服务架构搭建与自动化运维项目
运维·docker·架构
heimeiyingwang19 小时前
【架构实战】Kubernetes故障排查全景图:从Pod异常到集群雪崩的诊断手册
容器·架构·kubernetes