插件窝 干货文章 docker怎么启动mysql

docker怎么启动mysql

MySQL PASSWORD Docker 容器 595    来源:    2025-04-06

Docker 启动 MySQL 的详细步骤

快速启动命令

最简单的启动 MySQL 容器的方式:

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

详细配置说明

1. 基本启动

docker run -d \
  --name mysql-container \
  -e MYSQL_ROOT_PASSWORD=yourpassword \
  -p 3306:3306 \
  mysql:8.0

参数说明: - -d: 后台运行容器 - --name: 为容器指定名称 - -e MYSQL_ROOT_PASSWORD: 设置 root 用户密码 - -p 3306:3306: 将容器 3306 端口映射到主机 3306 端口 - mysql:8.0: 使用 MySQL 8.0 版本镜像

2. 使用自定义配置文件

docker run -d \
  --name mysql-container \
  -e MYSQL_ROOT_PASSWORD=yourpassword \
  -p 3306:3306 \
  -v /path/to/my.cnf:/etc/mysql/my.cnf \
  mysql:8.0

3. 持久化数据存储

docker run -d \
  --name mysql-container \
  -e MYSQL_ROOT_PASSWORD=yourpassword \
  -p 3306:3306 \
  -v /path/to/mysql/data:/var/lib/mysql \
  mysql:8.0

4. 创建自定义数据库和用户

docker run -d \
  --name mysql-container \
  -e MYSQL_ROOT_PASSWORD=rootpassword \
  -e MYSQL_DATABASE=mydatabase \
  -e MYSQL_USER=myuser \
  -e MYSQL_PASSWORD=mypassword \
  -p 3306:3306 \
  mysql:8.0

5. 使用官方推荐的配置方式

docker run -d \
  --name mysql-container \
  -e MYSQL_ROOT_PASSWORD=yourpassword \
  -e MYSQL_RANDOM_ROOT_PASSWORD=yes \
  -e MYSQL_DATABASE=my-database \
  -e MYSQL_USER=my-user \
  -e MYSQL_PASSWORD=my-password \
  -p 3306:3306 \
  -v mysql-data:/var/lib/mysql \
  mysql:8.0

常用操作

进入 MySQL 容器

docker exec -it mysql-container mysql -uroot -p

查看运行中的 MySQL 容器

docker ps

停止 MySQL 容器

docker stop mysql-container

启动已停止的 MySQL 容器

docker start mysql-container

删除 MySQL 容器

docker rm mysql-container

注意事项

  1. 生产环境建议使用 MYSQL_RANDOM_ROOT_PASSWORD 而不是明文密码
  2. 数据持久化非常重要,务必使用 -v 参数挂载数据卷
  3. MySQL 8.0 默认使用 caching_sha2_password 认证插件,某些旧客户端可能需要调整
  4. 可以通过 --character-set-server--collation-server 参数设置字符集

希望这些信息对您有所帮助!如需更详细的配置,可以参考 MySQL 官方 Docker 镜像文档。