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

相关推荐
CodexDave16 小时前
MySQL事务隔离级别与MVCC机制解析
前端·数据库·mysql·nginx·性能优化·负载均衡
王琦031819 小时前
生产环境中使用通用二进制包安装
mysql
BullSmall19 小时前
Anolis OS 8.10 完整安装 Docker CE(生产可用,解决 podman 冲突)
docker·容器·podman
蓝田~21 小时前
MySQL慢查询怎么优化?B+Tree索引原理+MVCC读不阻塞写+EXPLAIN执行计划,从5秒到0.05秒
数据库·mysql
Herbert_hwt1 天前
MySQL学习前言:关于MySQL的历史与当下学习的必要性
mysql
梦梦代码精1 天前
开源AI应用平台BuildingAI解析:插件化架构、应用市场与热门案例
人工智能·机器学习·docker·开源
时间的拾荒人1 天前
MySQL 视图详解
android·数据库·mysql
尽兴-1 天前
企业数据库选型与演进:Oracle、达梦、MySQL 与分库分表实践
数据库·mysql·oracle·分库分表
IT瑞先生1 天前
Docker快速部署Mysql的三种方法——实操篇
mysql·adb·docker
数据库小学妹1 天前
MySQL在线DDL实战:ALGORITHM三种算法对比+gh-ost变更管理SOP
mysql·dba·数据库运维·在线ddl·mdl锁·sql变更管理