使用docker部署mysql可通过拉取镜像、创建持久化目录、启动容器实现快速搭建。1. 拉取mysql:8.0镜像;2. 创建/mydata/mysql/{data,conf,logs}目录用于数据挂载;3. 使用docker run命令启动容器,设置root密码、端口映射、目录挂载和重启策略;4. 可选自定义配置,在挂载的conf目录添加my.cnf文件并重启容器;5. 通过客户端工具或docker exec进入容器连接MySQL;6. 备份使用mysqldump导出,恢复时先拷贝文件到容器再导入数据库。

使用 Docker 部署 MySQL 是一种快速、轻量且可复用的方式。通过官方 mysql 镜像,你可以几分钟内搭建一个运行中的数据库服务。以下是基于 docker 的 MySQL 镜像配置与部署教程。
1. 拉取 MySQL 官方镜像
打开终端,执行以下命令拉取最新版 MySQL 镜像(也可以指定版本):
docker pull mysql:8.0
你也可以使用其他版本,如 mysql:5.7,根据项目需求选择。
2. 创建持久化目录(推荐)
为避免容器删除后数据丢失,建议将 MySQL 数据目录挂载到主机。
创建本地目录用于存储数据和配置:
mkdir -p /mydata/mysql/data /mydata/mysql/conf /mydata/mysql/logs
后续将这些目录挂载进容器,实现数据持久化。
3. 启动 MySQL 容器
使用 docker run 命令启动容器,并进行基础配置:
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSword=yourpassword -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql/conf.d -v /mydata/mysql/logs:/logs --restart=always mysql:8.0
参数说明:
- -d:后台运行容器
- –name mysql:指定容器名称
- -p 3306:3306:映射主机 3306 端口到容器
- -e MYSQL_ROOT_PASSWORD=xxx:设置 root 用户密码
- -v:挂载数据、配置和日志目录
- –restart=always:开机自启、异常重启
4. 自定义配置(可选)
若需修改 MySQL 配置(如字符集、最大连接数),可在挂载的配置目录中添加 .cnf 文件:
写入如下内容:
[mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci max_connections=2000
保存后重启容器生效:
docker restart mysql
5. 连接 MySQL
可通过以下方式连接:
docker exec -it mysql mysql -uroot -p
6. 备份与恢复
数据备份:
docker exec mysql mysqldump -uroot -p yourpassword yourdb > backup.sql
数据恢复:
先复制 SQL 文件到容器:
docker cp backup.sql mysql:/tmp/
再进入容器导入:
docker exec -it mysql mysql -uroot -p yourdb
基本上就这些。只要掌握镜像拉取、目录挂载、环境变量设置和配置文件加载,就能稳定运行 Docker 化的 MySQL 服务。