logo
0
0
Login

MySQL Docker 镜像

这是一个 MySQL 8.0 的 Docker 镜像配置项目。

快速开始

使用 Docker Compose(推荐)

# 构建并启动容器 docker-compose up -d # 查看日志 docker-compose logs -f mysql # 停止容器 docker-compose down # 停止并删除数据卷 docker-compose down -v

使用 Docker 命令

# 构建镜像 docker build -t my-mysql:latest . # 运行容器 docker run -d \ --name mysql-container \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=rootpassword \ -e MYSQL_DATABASE=mydb \ -e MYSQL_USER=myuser \ -e MYSQL_PASSWORD=mypassword \ -v mysql_data:/var/lib/mysql \ my-mysql:latest

配置说明

环境变量

  • MYSQL_ROOT_PASSWORD: MySQL root 用户密码(默认: rootpassword)
  • MYSQL_DATABASE: 自动创建的数据库名称(默认: mydb)
  • MYSQL_USER: 自动创建的用户名(默认: myuser)
  • MYSQL_PASSWORD: 自动创建用户的密码(默认: mypassword)

端口映射

  • 3306:3306 - MySQL 服务端口

数据持久化

数据存储在 Docker volume mysql_data 中,确保数据不会因容器删除而丢失。

初始化脚本

将 SQL 初始化脚本放在 init-scripts/ 目录下,容器首次启动时会自动执行。

连接信息

  • 主机: localhost
  • 端口: 3306
  • Root 用户: root
  • Root 密码: rootpassword
  • 数据库: mydb
  • 普通用户: myuser
  • 普通用户密码: mypassword

常用命令

# 进入 MySQL 容器 docker exec -it mysql-container bash # 连接 MySQL docker exec -it mysql-container mysql -uroot -prootpassword # 备份数据库 docker exec mysql-container mysqldump -uroot -prootpassword mydb > backup.sql # 恢复数据库 docker exec -i mysql-container mysql -uroot -prootpassword mydb < backup.sql

安全建议

⚠️ 生产环境使用前,请务必修改以下内容:

  1. 修改所有默认密码
  2. 使用强密码策略
  3. 限制网络访问
  4. 定期备份数据
  5. 更新 MySQL 版本以获取安全补丁

About

mysql容器快速构建启动

Language
Dockerfile100%