在 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。

相关推荐
Johny_Zhao7 分钟前
2025年6月Docker镜像加速失效终极解决方案
linux·网络·网络安全·docker·信息安全·kubernetes·云计算·containerd·yum源·系统运维
寒山李白7 分钟前
MySQL复杂SQL(多表联查/子查询)详细讲解
sql·mysql·子查询·多表联查
冰橙子id16 分钟前
centos7编译安装LNMP架构
mysql·nginx·架构·centos·php
玛奇玛丶32 分钟前
面试官:千万级订单表新增字段怎么弄?
后端·mysql
藥瓿亭1 小时前
K8S认证|CKS题库+答案| 7. Dockerfile 检测
运维·ubuntu·docker·云原生·容器·kubernetes·cks
天天摸鱼的java工程师2 小时前
从被测试小姐姐追着怼到运维小哥点赞:我在项目管理系统的 MySQL 优化实战
java·后端·mysql
容器魔方2 小时前
KubeCon 抢鲜 | Kmesh与你共创高性能流量治理更优方案
云原生·容器·云计算
Clang's Blog2 小时前
一键搭建 WordPress + MySQL + phpMyAdmin 环境(支持 PHP 版本选择 & 自定义配置)
数据库·mysql·php·wordpr
异常君2 小时前
高并发数据写入场景下 MySQL 的性能瓶颈与替代方案
java·mysql·性能优化
RestCloud2 小时前
如何通过ETLCloud实现跨系统数据同步?
数据库·数据仓库·mysql·etl·数据处理·数据同步·集成平台