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

相关推荐
维他奶糖611 小时前
mysql数据库和redis数据库的安装
数据库·mysql
007php0072 小时前
使用 Docker、Jenkins、Harbor 和 GitLab 构建 CI/CD 流水线
数据库·ci/cd·docker·容器·golang·gitlab·jenkins
退役小学生呀7 小时前
十九、云原生分布式存储 CubeFS
分布式·docker·云原生·容器·kubernetes·k8s
deeper_wind10 小时前
k8s-容器化部署论坛和商城服务(小白的“升级打怪”成长之路)
linux·运维·容器·kubernetes
余衫马10 小时前
Mysql 5.7 与 SqlSugar 5.X 整合开发实战
mysql·c#·orm·sqlsugar
UtopianCoding11 小时前
MinerU:重新定义PDF智能提取的开源利器
docker·pdf·开源
wdxylb12 小时前
云原生俱乐部-k8s知识点归纳(8)
云原生·容器·kubernetes
007php00713 小时前
Jenkins+docker 微服务实现自动化部署安装和部署过程
运维·数据库·git·docker·微服务·自动化·jenkins
北极糊的狐13 小时前
MySQL常见报错分析及解决方案总结(1)---Can‘t connect to MySQL server on ‘localhost‘(10061)
数据库·mysql
hello_ world.14 小时前
k8s笔记04-常用部署命令
笔记·容器·kubernetes