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

相关推荐
&不羁之风&4 小时前
从 MySQL 到 MongoDB:80 万系统日志(sys_log)平滑迁移完整实战(含 Windows 环境 mongoimport 安装与避坑)
mysql·mongodb
这个DBA有点耶5 小时前
InnoDB页结构深入:页分裂、页合并、填充因子——B+树底层机制全解析
数据库·mysql·架构
山岚的运维笔记5 小时前
mysql 专业笔记 -- 第 36 章:MySQL 管理
运维·数据库·笔记·后端·mysql·oracle·dba
程序猿小郑6 小时前
Docker Compose 构建完整服务实战指南:从入门到最佳实践
docker·容器
霸道流氓气质7 小时前
SQL 里的 AND / OR 优先级陷阱:一个括号引发的“数据越界“
mysql
行百里er9 小时前
5 分钟跑起 Redis(Docker 版)
redis·后端·docker
Mr.朱鹏9 小时前
Docker三剑客实战指南:Docker、Dockerfile 和 Docker Compose
python·docker·devops·dockerfile
爱奥尼欧9 小时前
【MySQL】建库就是建目录?字符集校验规则、备份恢复与alter改表实操
mysql
大虾别跑10 小时前
mysql5.7升级
mysql
鬼先生_sir10 小时前
Docker 完整教程
docker