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

相关推荐
bluebonnet277 小时前
【docker】容器内映射外部音频驱动
docker·容器·音视频
于指尖飞舞7 小时前
mysql和redis面试题总结
数据库·redis·mysql
ao-weilai8 小时前
MySQL数据库:复合查询
android·数据库·mysql
FYKJ_20108 小时前
SpringSecurity教室智能预约系统73972-计算机课程设计、毕业设计
java·vue.js·spring boot·python·mysql·spring·django
要开心吖ZSH8 小时前
系统并发与 QPS 上限:从 200 个线程到每秒几万请求
redis·mysql·tomcat·并发·连接池·qps
吴声子夜歌8 小时前
Docker入门与实战——核心概念与安装配置
运维·docker·容器
FYKJ_20108 小时前
springboot游泳馆管理系统79222-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·mysql·django·课程设计
闲云自留地10 小时前
主库倒下 30 秒自动扶正:MySQL MHA 高可用实战
数据库·mysql
guo_wen_qiang20 小时前
docker的备份与迁移
运维·docker·容器
hasty21 小时前
policy.xml 在,不代表策略生效:ImageMagick 补丁给安全配置验收的提醒
xml·mysql·安全