MySQL 5.7 优雅部署文档
概述
本文档指导用户如何使用 mysql57.zip
包快速部署 MySQL 5.7 环境。包中包含必要的配置文件和脚本,基于 Docker 和 Docker Compose 实现高效、稳定的部署。下载链接:https://myfileforever.lanzouq.com/iCPEq2pnbl2f
部署步骤
1. 环境准备
确保系统满足以下要求:
- 安装 Docker(版本 20.10 或更高)。
- 安装 Docker Compose(版本 2.0 或更高)。
- 当前用户具有运行 Docker 命令的权限(或使用
sudo
)。
2. 下载与解压
-
下载
mysql57.zip
文件。 -
将文件解压到目标目录(例如
~/mysql57
):unzip mysql57.zip -d ~/mysql57
解压后,目录结构应包含以下文件:
.env
(环境变量配置文件)docker-compose.yml
(Docker Compose 配置文件)start.sh
(自动化部署脚本)
3. 进入工作目录
切换到解压后的目录:
cd ~/mysql57
4. 运行部署脚本
使用 start.sh
脚本部署 MySQL 5.7:
-
赋予
start.sh
执行权限:chmod +x start.sh
-
执行脚本:
./start.sh
- 脚本将执行以下操作:
- 停止并删除现有的 MySQL 容器(如果存在)。
- 检查
./mysql
目录是否存在,并提示是否删除其内容:Do you want to delete files under ./mysql? (y/n):
- 输入
y
或Y
:删除./mysql
目录,重建目录结构,生成新的my.cnf
配置文件,并启动容器(适合全新部署)。 - 输入
n
或N
:保留现有文件,直接启动容器(适合保留现有数据)。
- 输入
- 启动 MySQL 容器(默认端口映射到宿主机的 3306 端口)。
- 脚本将执行以下操作:
5. 验证部署
确认 MySQL 容器正常运行:
docker-compose ps
- 预期输出显示容器
mysql57
运行中,端口映射为0.0.0.0:3306->3306/tcp
。
6. 连接 MySQL
-
从宿主机连接:
mysql -h 127.0.0.1 -P 3306 -u root -p
输入密码(默认
root
)后进入 MySQL 命令行。 -
从容器内连接:
docker exec -it mysql57 mysql -uroot -p
7. 查看日志(可选)
如需排查问题,查看容器日志:
docker-compose logs mysql
停止与清理
-
暂停服务(保留容器和数据):
docker-compose stop
-
重启服务:
docker-compose start
-
停止并删除容器(保留数据):
docker-compose down
-
彻底清理(删除容器、数据和镜像):
docker-compose down -v docker rmi mysql:5.7 rm -rf ./mysql
配置文件说明
.env
:存储环境变量(如端口、密码、目录路径等),可根据需求修改。docker-compose.yml
:定义 MySQL 容器的配置,包括镜像、端口映射和挂载路径。start.sh
:自动化脚本,负责清理、重建目录、配置和启动容器。
注意事项
-
端口冲突:
- 若宿主机 3306 端口被占用,部署可能失败。可通过修改
.env
中的MYSQL_PORT
(例如改为3307
)避免冲突。
- 若宿主机 3306 端口被占用,部署可能失败。可通过修改
-
权限问题:
- 确保当前用户有权限操作 Docker 和当前目录下的文件。如需提升权限,可使用
sudo
或以 root 身份运行。
- 确保当前用户有权限操作 Docker 和当前目录下的文件。如需提升权限,可使用
-
数据持久化:
- 数据存储在
./mysql/data
目录中。选择删除./mysql
时,所有数据将被清除,请先备份重要数据。
- 数据存储在
-
自定义配置:
- 如需调整 MySQL 设置,可编辑
./mysql/my.cnf
文件(脚本会自动生成默认配置)。
- 如需调整 MySQL 设置,可编辑
联系支持
如遇问题,请在博客提问或参考 Docker 和 Docker Compose 官方文档。