/ 11浏览

Docker Hub MySQL镜像使用指南

  Docker Hub 上官方 MySQL 镜像地址:https://hub.docker.com/_/mysql

  MySQL 官方维护的 Docker 镜像,提供了多个版本的 MySQL,适用于不同的需求。


Docker Hub MySQL 镜像页面内容

  在这个页面上,你可以找到以下信息:

  1. 支持的版本(Tags)

    • 页面列出了所有可用的 MySQL 镜像版本(Tags),例如:

      • mysql:8.0​:最新的 MySQL 8.0.x 版本。
      • mysql:5.7​:最新的 MySQL 5.7.x 版本。
      • mysql:latest​:指向最新的稳定版本(通常是 8.0.x)。
      • mysql:9.1.0​:最新的版本(可能是测试版或开发版)。
  2. 使用说明

    • 如何拉取镜像。
    • 如何运行容器。
    • 如何配置 MySQL(如设置 root 密码、挂载数据卷等)。
  3. 环境变量

    • 常用的环境变量(如 MYSQL_ROOT_PASSWORD​、MYSQL_DATABASE​、MYSQL_USER​、MYSQL_PASSWORD​ 等)。
  4. 持久化数据

    • 如何通过挂载数据卷(Volume)实现数据持久化。
  5. 自定义配置文件

    • 如何挂载自定义的 MySQL 配置文件(如 my.cnf​)。
  6. 日志和故障排查

    • 如何查看 MySQL 日志。
    • 常见问题的解决方法。

如何使用 MySQL Docker 镜像

  以下是基于 Docker Hub 页面的快速使用指南:

1. 拉取 MySQL 镜像

  拉取最新的 MySQL 8.0 镜像:

docker pull mysql:8.0

2. 运行 MySQL 容器

  启动一个 MySQL 容器,并设置 root 密码:

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

3. 挂载数据卷

  将 MySQL 数据目录挂载到本地,实现数据持久化:

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

4. 挂载自定义配置文件

  挂载自定义的 MySQL 配置文件(如 my.cnf​):

docker run -d \
  --name mysql-container \
  -v /path/to/local/mysql/data:/var/lib/mysql \
  -v /path/to/local/mysql/conf.d:/etc/mysql/conf.d \
  -e MYSQL_ROOT_PASSWORD=yourpassword \
  mysql:8.0

5. 进入 MySQL 容器

  进入容器的命令行界面:

docker exec -it mysql-container bash

6. 连接到 MySQL

  在容器内连接到 MySQL:

mysql -u root -p

常见问题

1. 如何查看 MySQL 日志?

  MySQL 日志默认输出到容器的标准输出。你可以通过以下命令查看:

docker logs mysql-container

2. 如何备份数据?

  使用 docker cp​ 命令将数据目录复制到本地:

docker cp mysql-container:/var/lib/mysql /path/to/backup

3. 如何升级 MySQL 版本?

  1. 停止并删除旧容器:

    docker stop mysql-container
    docker rm mysql-container
    
  2. 拉取新版本镜像:

    docker pull mysql:8.0
    
  3. 启动新容器并挂载旧数据目录:

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

总结

  • Docker Hub 上的 MySQL 镜像页面提供了详细的文档和使用说明。
  • 你可以根据需要选择合适的 MySQL 版本(如 8.0 或 5.7)。
  • 通过挂载数据卷和配置文件,可以实现数据持久化和自定义配置。
shenhuanjie