使用Docker-compose部署MySQL
- 游戏开发
- 2025-08-24 19:54:01

使用 Docker Compose 部署 MySQL
本文将详细指导如何使用 docker-compose 部署 MySQL,包括基本配置、启动步骤、数据持久化以及一些高级选项。通过容器化部署 MySQL,你可以快速搭建一个隔离的数据库环境,适用于开发、测试或小型生产场景。
关键要点 使用 docker-compose 部署 MySQL 需要创建一个 docker-compose.yml 文件,设置 MySQL 镜像、端口映射、环境变量和数据持久化。需要安装 Docker Engine、Docker Compose 和 MySQL 客户端。数据通过命名卷持久化,方便管理和备份。令人惊讶的是,你可以自动创建数据库和用户,只需在文件中添加额外的环境变量。
准备工作
在开始之前,请确保已安装以下工具:
Docker Engine:容器运行环境,可从 官方文档 获取。Docker Compose:管理多容器应用的工具,可从 官方文档 获取。MySQL 客户端:用于连接和操作数据库,可参考 安装指南。这些工具是部署的基础,确保你的环境已准备就绪。
创建和启动 MySQL 1. 创建 docker-compose.yml 文件
创建一个名为 docker-compose.yml 的文件,内容如下:
version: '3.9' services: mysql: image: mysql:8.0 restart: always ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: MYPASSWORD volumes: - mysql_data:/var/lib/mysql volumes: mysql_data: 说明:version: '3.9':指定 Docker Compose 文件格式版本。 image: mysql:8.0:使用 MySQL 8.0 官方镜像。 restart: always:容器在失败时自动重启。 ports: "3306:3306":将主机端口 3306 映射到容器内的 3306 端口。 environment:设置 MySQL 根密码(将 MYPASSWORD 替换为你的实际密码)。 volumes:使用命名卷 mysql_data 挂载到 /var/lib/mysql,实现数据持久化。
2.可选:自动创建数据库和用户如果需要自动创建数据库和用户,可以在 environment 中添加以下内容:
environment: - MYSQL_ROOT_PASSWORD=MYPASSWORD - MYSQL_DATABASE=mydb - MYSQL_USER=myuser - MYSQL_PASSWORD=myuserpassword 说明:MYSQL_DATABASE:创建名为 mydb 的数据库。 MYSQL_USER:创建用户 myuser。 MYSQL_PASSWORD:设置用户密码为 myuserpassword。 将上述值替换为你的实际需求,这一功能非常适合快速初始化。
3.启动服务在 docker-compose.yml 文件所在目录,打开终端并运行:
docker compose up -d-d 参数表示在后台运行,容器启动后不会阻塞终端。 首次运行可能需要下载 MySQL 镜像,请耐心等待。
4. 验证和连接检查容器状态:
docker compose ps输出应显示 mysql 服务状态为 Up,表示运行正常。
连接 MySQL,使用 MySQL 客户端:
mysql -h localhost -u root -p输入之前设置的密码(如 MYPASSWORD),成功连接后即可看到 MySQL 提示符。
5. 停止和清理使用完成后,运行以下命令停止并移除容器:
docker compose down这会停止并删除容器、网络和卷,但数据仍保存在 mysql_data 卷中,除非手动清理。
注意事项数据持久化:mysql_data 卷确保数据在容器删除后仍可访问,建议定期备份。 安全性:暴露 3306 端口可能存在风险,生产环境建议使用防火墙或 Docker 网络隔离。 调试: 查看日志:
docker logs mysql进入容器
docker exec -it mysql bash 结论通过 docker-compose 部署 MySQL 是一种高效、灵活的方式,适合快速搭建开发或测试环境。本文提供了从基础配置到高级选项的完整指南,包括数据持久化、自动初始化和故障排查方法。你可以根据实际需求调整配置,例如更改端口、密码或添加初始化脚本。
使用Docker-compose部署MySQL由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“使用Docker-compose部署MySQL”
下一篇
【数据挖掘】深度挖掘