MySQL 指南

用 Docker 一键部署 MySQL 5.7,并把宿主机挂载目录固定到 /data/mysql5.7

一篇面向实操的说明,讲清楚当 Docker 已就绪时,如何用 install_mysql57_base_docker.sh 快速拉起一个把数据、配置和初始化脚本都挂在宿主机上的 MySQL 5.7。

阅读约 5 分钟 · 2026-03-23

这个脚本会搭好什么

install_mysql57_base_docker.sh 适合那些已经具备 Docker 环境,但又不想先准备 Compose 文件、只想快速拉起一个可维护 MySQL 5.7 实例的主机。

它会把数据库文件、自定义配置和初始化 SQL 都放到 /data/mysql5.7 下,让重要状态留在宿主机上,而不是只存在容器里。

install_mysql57_base_docker.sh 部署 MySQL 5.7 时的终端输出
一段已脱敏的真实安装输出:脚本会准备 /data/mysql5.7、拉取 mysql:5.7.44、启动 mysql57,并打印关键连接信息。为安全起见,自动生成的 root 密码已做隐藏处理。

它会在 /data/mysql5.7 下面生成哪些内容

脚本会创建 data、conf.d 和 init 目录,并写入一个基础版 mysql57.cnf。如果你没有显式提供 root 密码,它会自动生成一个强密码,并在部署完成后打印出来。

  • /data/mysql5.7/data
  • /data/mysql5.7/conf.d/mysql57.cnf
  • /data/mysql5.7/init/

这种部署方式最适合什么场景

这种方式适合还依赖 MySQL 5.7 的旧应用、小型内部系统,或者需要复刻旧环境的迁移演练场景。

因为数据库运行在可替换容器里,但数据目录仍然保留在宿主机上,所以后续即使重建容器,也不会立刻丢掉数据目录。

部署完成后建议这样检查

脚本结束后,建议确认容器已经启动、3306 端口映射符合预期,并在容器内执行 mysqladmin ping 确认服务正常。同时请把输出中的 root 密码妥善保存,再交给业务侧接入。

  • 执行 docker ps
  • 执行 docker logs -f mysql57
  • 执行 docker exec -it mysql57 mysqladmin ping -uroot -p
  • 执行 docker exec -it mysql57 mysql -uroot -p

相关专题

Ubuntu 24.04 部署基础

面向 Ubuntu 24.04 新主机的基础部署专题,覆盖 Docker 安装、常见运行时服务和上线前准备。

查看专题

应用主机的 Docker 基础服务

通过 helper.sh 标准化部署 Nginx、MySQL、Redis、PHP 和 Workerman 等容器化基础服务。

查看专题

问题页面

如何用 Docker 安装 MySQL 5.7

在现代 Docker 宿主机上,以统一目录挂载和自动生成密码的方式运行老版本 MySQL 5.7。

打开页面