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

相关推荐
Linux-lucky6 分钟前
36-Linux学习之旅之MySQL主从复制
linux·运维·学习·mysql·ubuntu
广州灵眸科技有限公司13 分钟前
瑞芯微(EASY EAI)RV1126B 星闪使用
运维·人工智能·科技·docker·容器
努力努力再努力wz16 分钟前
【Docker入门系列】:从 Namespace 到 CGroup:一文理解容器资源控制、cgroup v2 与 Memory Controller 实战
运维·docker·容器
玉&心20 分钟前
通过helm在k8s上面一键部署前端和后端代码
云原生·容器·kubernetes·helm
11路没有终点1 小时前
Docker 化测试环境:一致性交付
运维·docker·容器
kyrie_sakura1 小时前
MySQL数据库学习笔记3--关联(联合)查询
数据库·学习·mysql
石小千2 小时前
MySQL 8.4设置密码策略
数据库·mysql
平行云2 小时前
实时云渲染信创架构解析:从GPU池化到全栈适配的技术演进
linux·unity·docker·ue5·webgl·数字孪生·实时云渲染
蜡台2 小时前
# 已解决|MySQL 8\.4\.11 密码正确仍报错1045 \(28000\) Access denied 终极修复方案
android·mysql·adb
生活爱好者!2 小时前
NAS能批量做短视频?docker部署MoneyPrinterTurbo
运维·docker·容器