这是一个 MySQL 8.0 的 Docker 镜像配置项目。
# 构建并启动容器
docker-compose up -d
# 查看日志
docker-compose logs -f mysql
# 停止容器
docker-compose down
# 停止并删除数据卷
docker-compose down -v
# 构建镜像
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/ 目录下,容器首次启动时会自动执行。
# 进入 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
⚠️ 生产环境使用前,请务必修改以下内容: