Docker 方式部署 MySQL 数据库,一看就会!
在日常开发和测试中,部署数据库常常是件繁琐的事。但有了Docker,一切都变得简单高效!今天,我们就一起来用Docker快速部署一个MySQL数据库,让你告别繁琐配置,轻松上手!
为什么用Docker部署MySQL?
传统方式安装MySQL往往需要:
- 下载安装包
- 手动配置环境变量
- 调整配置文件
- 处理版本兼容问题
使用Docker后,你只需一条命令,就能搞定一切:
- 快速拉起所需版本
- 无需担心依赖冲突
- 容器随时启停、删除,干净利落
部署准备
确保你已安装以下环境:
- Docker 环境(推荐Docker Desktop或通过 apt/yum 安装)
- 基础命令行操作知识
root@racknerd-a7aa50:~# docker --version
Docker version 27.5.1, build 9f9e405
一条命令跑起 MySQL 容器!
docker run -d
--name mysql-demo
-p 3306:3306
-e MYSQL_ROOT_PASSWORD=123456
-v /data/mysql:/var/lib/mysql
mysql:8.0
参数说明:
- -d:后台运行容器
- --name:给容器起个名字
- -p:端口映射(本机3306 → 容器3306)
- -e:设置环境变量(如 root 密码)
- -v:挂载本地目录,持久化数据库数据
- mysql:8.0:使用 MySQL 8.0 官方镜像
建议设置复杂一点的密码,避免安全隐患。
验证是否部署成功
执行以下命令查看容器状态:
docker ps -a
输出中看到 mysql-demo 正在运行说明成功啦!如下图所示:
你也可以用MySQL客户端或工具(如 Navicat)连接测试。如下图所示:
常用操作命令
查看日志:
docker logs -f mysql-demo
进入容器内部:
docker exec -it mysql-demo bash
停止容器:
docker stop mysql-demo
删除容器:
docker rm -f mysql-demo
数据持久化说明
使用 -v /data/mysql:/var/lib/mysql 参数,将容器中的数据目录映射到宿主机 /data/mysql,即使容器删除,数据依然存在。建议定期备份该目录,防止意外丢失。
小贴士:添加自定义配置文件
如果你想使用自己的 MySQL 配置文件:
docker run -d
--name mysql-demo
-p 3306:3306
-e MYSQL_ROOT_PASSWORD=123456
-v /data/mysql:/var/lib/mysql
-v /my/custom/my.cnf:/etc/mysql/my.cnf
mysql:8.0
这样可以灵活调整参数,比如连接数、字符集等。如果你觉得 docker run 命令太长太繁琐,那你一定会喜欢 docker-compose!我们只需写好一个配置文件,执行一条命令即可完成部署。
version: '3.8'
services:
mysql:
image:mysql:8.0
container_name:mysql-demo
restart:always
ports:
-"3306:3306"
environment:
MYSQL_ROOT_PASSWORD:123456
MYSQL_DATABASE:testdb
MYSQL_USER:testuser
MYSQL_PASSWORD:testpass
volumes:
-./mysql-data:/var/lib/mysql
-./my.cnf:/etc/mysql/my.cnf # 可选:自定义配置
说明:
- 启动后将自动创建 testdb 数据库和一个 testuser 用户;
- 数据将存储到当前目录下的 ./mysql-data 文件夹中;
- 可挂载 my.cnf 实现自定义参数配置。
总结
通过Docker部署MySQL:
- 简单快速
- 易于管理
- 更适合开发测试环境
- 轻松实现版本控制和环境隔离
不管你是开发者还是运维人员,掌握这一技能,能大大提升效率!