当前位置: 首页 > ds >正文

在Docker中安装MySQL时3306端口占用问题

问题

我个人在学习黑马的 SpringCloud(导入黑马商城) 中,在使用docker执行以下命令时,出现了问题

docker run -d \--name mysql \-p 3306:3306 \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=123 \-v /root/mysql/data:/var/lib/mysql \-v /root/mysql/conf:/etc/mysql/conf.d \-v /root/mysql/init:/docker-entrypoint-initdb.d \--network hm-net\mysql

这个命令是为了安装MySQL,但是我在执行后出现了以下错误

docker: Error response from daemon: driver failed programming external connectivity on endpoint mysql (779d5c08c621086cb08087d9df11f104ecab60ce3e3b751ba0ae8c97bf18da23): Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use.

问了ai,ai解释了错误原因:

你宿主机(Host)的 3306 端口已经被另一个程序占用了,Docker 无法再将这个端口映射到你的 MySQL 容器。

解决方法

首先安装 lsof,因为我这里学的是CentOS系统,所以命令是这样的:

sudo yum install -y lsof

如果是别的系统再百度一下

有了这个工具之后我们就可以执行这个命令:

sudo systemctl stop mysql

这条命令会通知 systemd 去优雅地停止 mysqld 进程及其所有相关进程,并且它不会自动重启

然后我们再执行一开始那个安装命令

docker run -d \--name mysql \-p 3306:3306 \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=123 \-v /root/mysql/data:/var/lib/mysql \-v /root/mysql/conf:/etc/mysql/conf.d \-v /root/mysql/init:/docker-entrypoint-initdb.d \--network hm-net\mysql

这时我们在执行 docker ps,就可以看见

说明我们已经下载成功了

然后我们去datagrip里面连接一下这个mysql

就可以看见这个表了

http://www.xdnf.cn/news/19795.html

相关文章:

  • 论文学习30:LViT: Language Meets Vision Transformerin Medical Image Segmentation
  • 使用云手机进行游戏搬砖划算吗?
  • 国内真实的交换机、路由器和分组情况
  • 【保姆级喂饭教程】把chrome谷歌浏览器中的插件导出为CRX安装包
  • LeetCode 925.长按键入
  • 数据结构:希尔排序 (Shell Sort)
  • 【51单片机】【protues仿真】基于51单片机呼叫系统
  • 基于Force-closure评估的抓取计算流程
  • 生成知识图谱与技能树的工具指南:PlantUML、Mermaid 和 D3.js
  • 【AI报表】JimuReport 积木报表 v2.1.3 版本发布,免费可视化报表和大屏
  • 【leetcode】222. 完全二叉树的节点个数
  • Altium Designer中的Net-Tie:解决多网络合并与电气隔离的利器
  • CPTS-Vintage 票据,基于资源的约束委派 (RBCD),DPAPI密钥
  • 自制扫地机器人(二) Arduino 机器人避障设计——东方仙盟
  • Veo Videos Generation API 对接说明
  • 鸿蒙NEXT表单选择组件详解:Radio与Checkbox的使用指南
  • 开源 C++ QT Widget 开发(十)IPC进程间通信--共享内存
  • 零跑汽车8月交付57066台,同比增长超88%
  • amd cpu是x86架构吗
  • 【Audio】静音或振动模式下重复来电响铃
  • stdexcept介绍与使用指南
  • 【LeetCode】3670. 没有公共位的整数最大乘积 (SOSDP)
  • Day19_【机器学习—线性回归 (3)—回归模型评估方法】
  • Docker一键快速部署压测工具,高效测试 API 接口性能
  • ES6手录01-let与const
  • 学习日记-spring-day47-9.1
  • PyCharm 2025版本中新建python工程文件自动创建.venv的意义和作用
  • 教育 AI 的下半场:个性化学习路径生成背后,技术如何平衡效率与教育本质?
  • 第二十八天-DAC数模转换实验
  • “便农惠农”智慧社区系统(代码+数据库+LW)