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

相关推荐
Hui Baby10 小时前
K8S使用CRD和控制器简单应用
云原生·容器·kubernetes
L16247612 小时前
MySQL 全环境生产快速安装 + 完整配置手册(整合国产银河麒麟适配 + 主从补充版)
数据库·mysql
用户2333768521812 小时前
Docker 端口"时通时不通"的排查实战
docker
前端世界12 小时前
MySQL 基础入门(学习第4天)——约束与 DML 操作详解
数据库·学习·mysql
做个文艺程序员13 小时前
Linux第22篇:用Docker容器化你的Java SaaS应用:一次构建,随处运行
java·docker·容器
ShiXZ21313 小时前
Redis docker-compose 部署指南
redis·docker·eureka
Vect__14 小时前
MySQL 数据类型和约束:从字段设计到表结构建模
数据库·mysql
梦梦代码精15 小时前
基于ThinkPHP6 + Vue3的家政预约系统全解析:从LBS定位到自动派单的完整实现
java·docker·开源·php·代码规范
Zhu75815 小时前
在k8s环境部署Apache Superset最新版
容器·kubernetes·apache
小的博客15 小时前
windows下安装Docker Desptop
运维·docker·容器