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

docker中的mysql变更宿主机映射端口

如果你的mysql有绑定宿主机的映射券

"Mounts": [ { "Type": "bind", "Source": "/data/docker-data/mysql/conf", "Destination": "/etc/mysql", "Mode": "", "RW": true, "Propagation": "rslave" }, { "Type": "bind", "Source": "/data/docker-data/mysql/data", "Destination": "/var/lib/mysql", "Mode": "", "RW": true, "Propagation": "rslave" }

新的 MySQL 容器启动命令

请先将你的 <你的root密码> 和 <tag>(如 8.05.7)替换为实际值。

bash

docker run -d \--name mysql \-p 13066:3306 \-v /data/docker-data/mysql/data:/var/lib/mysql \-v /data/docker-data/mysql/conf:/etc/mysql \-e MYSQL_ROOT_PASSWORD=<你的root密码> \-e TZ=Asia/Shanghai \--restart=unless-stopped \mysql:<tag>

命令逐行说明:

  • docker run -d: 启动一个容器并在后台 (-d) 运行。

  • --name mysql: 为容器命名为 mysql,方便管理。你可以根据需要修改。

  • -p 13066:3306核心修改。将宿主机的 13066 端口映射到容器内的 3306 端口。

  • -v /data/docker-data/mysql/data:/var/lib/mysql数据目录挂载。确保新容器使用完全相同的数据路径,所有数据库数据都在这里。

  • -v /data/docker-data/mysql/conf:/etc/mysql配置目录挂载。确保你的自定义配置(如 my.cnf)会被继承。

  • -e MYSQL_ROOT_PASSWORD=<你的root密码>: 设置 root 用户的密码。请务必使用旧容器的相同密码

  • -e TZ=Asia/Shanghai: (可选,但建议) 设置容器时区,保证数据库时间准确。

  • --restart=unless-stopped: (可选,但建议) 设置 Docker 服务重启时,这个容器自动启动。

  • mysql:<tag>: 指定 MySQL 镜像版本,请保持与之前一致(例如 mysql:8.0)。


完整操作步骤(请按顺序执行)

  1. 停止并移除旧容器(数据是安全的,因为已经挂载到宿主机)

    bash

    docker stop mysql
    docker rm mysql
  2. 使用新命令启动容器
    将上面生成的命令复制粘贴到终端执行。

  3. 验证是否成功

    • 查看容器状态和端口映射:

      bash

      docker ps

      你应该能看到 0.0.0.0:13066->3306/tcp 的字样。

    • 使用新端口连接数据库,验证数据和配置:

      bash

      # 通过新端口连接
      mysql -h 127.0.0.1 -P 13066 -u root -p

      连接成功后,检查你的数据库和表是否完好。

⚠️ 重要提醒

  • 密码一致性:确保 MYSQL_ROOT_PASSWORD 环境变量的值和之前容器使用的密码完全一致,否则无法用原密码登录。

  • 目录权限:首次在新容器启动时,请确认宿主机上的 /data/docker-data/mysql/data/ 目录对于 Docker 的进程是可读可写的。如果启动失败,可以查看日志 docker logs mysql,常见问题是目录权限不足。

  • 防火墙:如果服务器有防火墙,记得开放新的 13066 端口。

这个操作不会对你的现有数据造成任何影响,只是换了一个端口来访问同一个数据库。

注意 root密码如果有特殊字符,要用单引号

docker run -d \
--name prod-mysql \
-p 13066:3306 \
-v /data/docker-data/mysql/data:/var/lib/mysql \
-v /data/docker-data/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD='aa$1839' \
-e TZ=Asia/Shanghai \
--restart=unless-stopped \
mysql:5.7

完整操作步骤:

  1. 停止并删除旧容器(如果还在运行):

    bash

    docker stop mysql
    docker rm mysql
  2. 使用修正后的命令启动新容器

    bash

    docker run -d \--name mysql \-p 13066:3306 \-v /data/docker-data/mysql/data:/var/lib/mysql \-v /data/docker-data/mysql/conf:/etc/mysql \-e MYSQL_ROOT_PASSWORD='aa$1839' \-e TZ=Asia/Shanghai \--restart=unless-stopped \mysql:5.7
  3. 验证启动是否成功

    bash

    docker ps
    docker logs mysql  # 查看启动日志,确认没有错误
  4. 测试新端口连接

    bash

    mysql -h 127.0.0.1 -P 13066 -u root -p

    然后在提示符下输入密码 aa$1839 进行连接测试。


文章转载自:

http://9I1aSqZw.fhqnm.cn
http://bR3On5fP.fhqnm.cn
http://6boMCp9F.fhqnm.cn
http://EA8iiBLD.fhqnm.cn
http://7h84oS5v.fhqnm.cn
http://6reSbKm4.fhqnm.cn
http://jTK5Q3fw.fhqnm.cn
http://zflGWKkx.fhqnm.cn
http://glCQN1EC.fhqnm.cn
http://IUlT0JhY.fhqnm.cn
http://QaO5iMC7.fhqnm.cn
http://q94Y3n9W.fhqnm.cn
http://om8cmbH5.fhqnm.cn
http://c6gPhprn.fhqnm.cn
http://uK9UWbaP.fhqnm.cn
http://NIX4UiM9.fhqnm.cn
http://gQgF3FBB.fhqnm.cn
http://vtrfxLPM.fhqnm.cn
http://r9seLBPH.fhqnm.cn
http://eT9zguSU.fhqnm.cn
http://kt0kuWgu.fhqnm.cn
http://k8gGq1I6.fhqnm.cn
http://vjdbxzrI.fhqnm.cn
http://SySreeJt.fhqnm.cn
http://HTqNtkgu.fhqnm.cn
http://zpjEEvkQ.fhqnm.cn
http://YQzCLVFr.fhqnm.cn
http://SFhMFwBW.fhqnm.cn
http://IMCOWine.fhqnm.cn
http://eck0xCCm.fhqnm.cn
http://www.dtcms.com/a/366949.html

相关文章:

  • Redis(43)Redis哨兵(Sentinel)是什么?
  • 【连载 7/9】大模型应用:大模型应用:(七)大模型使用工具(29页)【附全文阅读】
  • 从 GPT 到 LLaMA:解密 LLM 的核心架构——Decoder-Only 模型
  • 原型链和原型
  • 嵌入式学习 51单片机(3)
  • 详细学习计划
  • 深度解读《实施“人工智能+”行动的意见》:一场由场景、数据与价值链共同定义的产业升级
  • CLIP模型
  • 深度学习篇---SENet网络结构
  • JS初入门
  • 大数据开发计划表(实际版)
  • TypeScript 增强功能大纲 (相对于 ECMAScript)
  • LLAMAFACTORY:一键优化大型语言模型微调的利器
  • DeepSeek文献太多太杂?一招制胜:学术论文检索的“核心公式”与提问艺术
  • Android AI客户端开发(语音与大模型部署)面试题大全
  • hutool的EnumUtil工具类实践【持续更新】
  • 从基础到实践:Web核心概念与Nginx入门全解析
  • 深度学习:基于自定义 ResNet 的手写数字识别实践(MNIST 数据集)
  • Day35 网络协议与数据封装
  • Vue 3 学习路线指南
  • C语言基础:内存管理
  • 大模型应用开发框架 LangChain
  • Deeplizard深度学习课程(六)—— 结合Tensorboard进行结果分析
  • 小程序:12亿用户的入口,企业数字化的先锋军
  • 【C++题解】关联容器
  • 15,FreeRTOS计数型信号量操作
  • PMP新考纲练习题10道【附答案解析】
  • 开源技术助力企业腾飞,九识智能迈入‘数据驱动’新纪元
  • Docker(①安装)
  • [Windows] PDF工具箱 PDF24 Creator 11.28.0