在日常开发中,我们经常需要临时搭建一套 MySQL 数据库环境用于测试或开发。相比传统安装方式,使用 Docker 部署 MySQL 不仅快速、干净,还能方便地进行数据持久化。本篇文章将带你一步步完成 MySQL 的 Docker 部署、运行与本地挂载。


一、拉取 MySQL 镜像

首先,我们需要从 Docker Hub 拉取官方的 MySQL 镜像:

docker pull mysql

这条命令会从 Docker 官方镜像仓库中下载最新版本的 MySQL 镜像。

💡 提示: 如果网络较慢,可以使用国内镜像源(如阿里云或腾讯云)加速拉取。


二、创建并运行 MySQL 容器

镜像下载完成后,我们可以使用以下命令创建并启动一个 MySQL 容器:

docker run -d \

   --name mysql \

   -p 3307:3306 \

   -e TZ=Asia/Shanghai \

   -e MYSQL_ROOT_PASSWORD=123 \

   mysql

  • 参数说明:

  • -d:让容器在后台运行(detached mode)。

  • --name mysql:为容器指定名称,方便管理。

  • -p 3307:3306:将主机的 3307 端口映射到容器内的 3306(MySQL 默认端口)。

  • -e TZ=Asia/Shanghai:设置容器时区为上海时间。

  • -e MYSQL_ROOT_PASSWORD=123:设置 MySQL root 用户的登录密码。

  • mysql:指定使用的镜像名称。

执行后,你可以使用以下命令验证容器是否成功运行:

docker ps


三、挂载 MySQL 数据到本地目录

虽然上一步已经能让 MySQL 运行,但容器删除后数据会随之丢失。
为了实现 数据持久化,我们可以将 MySQL 的数据目录挂载到本地路径。

使用以下命令创建带挂载的 MySQL 容器:

docker run -d \ --name mysql \ -p 3307: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 \ mysql 
挂载目录说明:
  • /root/mysql/data:/var/lib/mysql
    → 将容器内的数据库文件保存到主机 /root/mysql/data,防止数据丢失。

  • /root/mysql/conf:/etc/mysql/conf.d
    → 存放自定义配置文件,可通过 .cnf 文件修改 MySQL 配置。

  • /root/mysql/init:/docker-entrypoint-initdb.d
    → 在容器初始化时自动执行 SQL 文件(适合导入初始数据或建表结构)。


四、进入 MySQL 容器并测试连接

进入容器内部:

docker exec -it mysql bash

登录 MySQL:

mysql -uroot -p123

如果能成功进入 MySQL 控制台,说明部署成功 🎉。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐