在 Docker 中安装并配置 MySQL

要在 Docker 中安装并配置 MySQL,您可以按照以下步骤进行:

  1. 拉取 MySQL 镜像:

    首先,从 Docker Hub 拉取所需版本的 MySQL 镜像。以下示例拉取最新的 MySQL 5.7 版本:

    bash 复制代码
    docker pull mysql:5.7
  2. 创建本地目录以挂载数据和配置文件:

    为了持久化 MySQL 的数据和方便管理配置文件,建议在主机上创建以下目录:

    bash 复制代码
    mkdir -p ~/mysql/data
    mkdir -p ~/mysql/conf

    其中:

    • ~/mysql/data:用于存放 MySQL 的数据文件。

    • ~/mysql/conf:用于存放 MySQL 的配置文件。

  3. 运行 MySQL 容器并挂载数据和配置文件:

    使用以下命令运行 MySQL 容器,并将上述创建的目录挂载到容器中:

    bash 复制代码
    docker run -d \
      --name mymysql \
      -p 3306:3306 \
      -v ~/mysql/data:/var/lib/mysql \
      -v ~/mysql/conf:/etc/mysql/conf.d \
      -e MYSQL_ROOT_PASSWORD=your_password \
      mysql:5.7

    此命令的含义如下:

    • -d:后台运行容器。

    • --name mymysql:为容器指定名称为 mymysql

    • -p 3306:3306:将主机的 3306 端口映射到容器的 3306 端口。

    • -v ~/mysql/data:/var/lib/mysql:将主机的 MySQL 数据目录挂载到容器内。

    • -v ~/mysql/conf:/etc/mysql/conf.d:将主机的 MySQL 配置目录挂载到容器内。

    • -e MYSQL_ROOT_PASSWORD=your_password:设置 MySQL root 用户的密码,请将 your_password 替换为实际的密码。

    请注意,挂载配置文件目录时,您可以在 ~/mysql/conf 目录下创建自定义的 .cnf 配置文件,以覆盖默认配置。

  4. 验证 MySQL 是否成功运行:

    您可以使用以下命令查看正在运行的容器:

    bash 复制代码
    docker ps

    如果看到名称为 mymysql 的容器正在运行,说明 MySQL 已成功启动。

  5. 连接到 MySQL:

    您可以通过以下方式连接到 MySQL:

    • 使用 docker exec 命令进入容器内部:

      bash 复制代码
      docker exec -it mymysql mysql -uroot -p

      输入在启动容器时设置的 root 密码,即可进入 MySQL 命令行界面。

    • 使用外部工具连接:

      您也可以使用诸如 MySQL Workbench、Navicat 等数据库管理工具,通过主机的 127.0.0.1 地址和 3306 端口连接到 MySQL。

通过上述步骤,您已在 Docker 中成功安装并配置了 MySQL。

相关推荐
流星白龙5 分钟前
【MySQL高阶】26.事务(1)
数据库·mysql
这个DBA有点耶1 小时前
索引优化深潜(下):索引合并、ICP 与索引设计的实战法则
数据库·mysql·架构
用户3074596982071 小时前
EXPLAIN 执行计划 完全精通指南
mysql
我是谁??3 小时前
ubuntu22.04 通过docker部署vLLM(Qwen3-0.6B)大模型+New API+OpenWebUI
docker·容器·vllm
AI行业学习3 小时前
CC-Switch v3.16.1 官方下载 | 安装配置详细教程【2026.6.10】
java·开发语言·vue.js·python·mysql·eclipse·html
运维瓦工3 小时前
DevOps 生态介绍(十):Docker Compose 核心 YAML 配置详解与常用命令大全
spring cloud·docker·容器
云烟成雨TD3 小时前
Spring AI 1.x 系列【59】容器化开发支持:Docker Compose 与 Testcontainers
人工智能·spring·docker
用户3074596982073 小时前
乐观锁与悲观锁
mysql
Plastic garden4 小时前
K8s(10)NFS 的动态 PV 创建数据库给k8s的mysql和redis
docker·容器·kubernetes
AOwhisky4 小时前
学习自测与解析:MySQL第五、六、七期核心知识点详解
运维·数据库·笔记·学习·mysql·云计算