"/>

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. 下载与解压

  1. 下载 mysql57.zip 文件。

  2. 将文件解压到目标目录(例如 ~/mysql57):

    unzip mysql57.zip -d ~/mysql57
    

    解压后,目录结构应包含以下文件:

    • .env(环境变量配置文件)
    • docker-compose.yml(Docker Compose 配置文件)
    • start.sh(自动化部署脚本)

3. 进入工作目录

切换到解压后的目录:

cd ~/mysql57

4. 运行部署脚本

使用 start.sh 脚本部署 MySQL 5.7:

  1. 赋予 start.sh 执行权限:

    chmod +x start.sh
    
  2. 执行脚本:

    ./start.sh
    
    • 脚本将执行以下操作:
      • 停止并删除现有的 MySQL 容器(如果存在)。
      • 检查 ./mysql 目录是否存在,并提示是否删除其内容:
        Do you want to delete files under ./mysql? (y/n):
        
        • 输入 yY:删除 ./mysql 目录,重建目录结构,生成新的 my.cnf 配置文件,并启动容器(适合全新部署)。
        • 输入 nN:保留现有文件,直接启动容器(适合保留现有数据)。
      • 启动 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:自动化脚本,负责清理、重建目录、配置和启动容器。

注意事项

  1. 端口冲突

    • 若宿主机 3306 端口被占用,部署可能失败。可通过修改 .env 中的 MYSQL_PORT(例如改为 3307)避免冲突。
  2. 权限问题

    • 确保当前用户有权限操作 Docker 和当前目录下的文件。如需提升权限,可使用 sudo 或以 root 身份运行。
  3. 数据持久化

    • 数据存储在 ./mysql/data 目录中。选择删除 ./mysql 时,所有数据将被清除,请先备份重要数据。
  4. 自定义配置

    • 如需调整 MySQL 设置,可编辑 ./mysql/my.cnf 文件(脚本会自动生成默认配置)。

联系支持

如遇问题,请在博客提问或参考 Docker 和 Docker Compose 官方文档。