Docker搭建MySQL Workbench

发布于:2024-04-25 ⋅ 阅读:(29) ⋅ 点赞:(0)

MySQL Workbench 是一款图形界面工具,用于数据库设计、开发、管理和维护MySQL、MariaDB和Percona Server数据库。它提供了SQL开发、数据库设计、服务器配置等功能。

实际应用场景

  1. 数据库设计:创建ER模型,生成数据库架构。
  2. SQL开发:编写和测试SQL查询。
  3. 数据库管理:管理用户、权限、备份和还原数据库。
  4. 性能监控:监控数据库性能和查询优化。

使用 Docker CLI 搭建 MySQL Workbench

  1. 拉取镜像

    docker pull mysqlworkbench/mysql-workbench
    
  2. 运行容器

    docker run -d \
      --name=mysql-workbench \
      -e MYSQL_WORKBENCH_LICENSE=accept \
      -p 3306:3306 \
      -v /path/to/mysql-workbench-data:/var/lib/mysql \
      mysqlworkbench/mysql-workbench
    
    • -d:以守护进程模式运行容器。
    • --name=mysql-workbench:为容器指定一个名称。
    • -e MYSQL_WORKBENCH_LICENSE=accept:接受MySQL Workbench的许可协议。
    • -p 3306:3306:将容器的3306端口映射到宿主机的3306端口,这是MySQL的默认端口。
    • -v /path/to/mysql-workbench-data:/var/lib/mysql:挂载一个卷,用于存储MySQL的数据文件。
  3. 访问应用
    MySQL Workbench 是一个图形界面工具,通常不在容器内运行。容器提供了MySQL服务,可以通过宿主机上的MySQL Workbench客户端连接到这个服务。

使用 Docker Compose 搭建 MySQL Workbench

  1. 创建 docker-compose.yml 文件

    version: '3'
    services:
      mysql-workbench:
        image: mysqlworkbench/mysql-workbench
        container_name: mysql-workbench
        environment:
          MYSQL_WORKBENCH_LICENSE: accept
        ports:
          - "3306:3306"
        volumes:
          - /path/to/mysql-workbench-data:/var/lib/mysql
        restart: unless-stopped
    
  2. 启动服务

    docker-compose up -d
    
  3. 参数解释

    • version: '3':指定 Docker Compose 文件的版本。
    • services:定义服务的配置。
    • image:指定使用的镜像。
    • container_name:为容器指定名称。
    • environment:设置环境变量。
    • ports:映射端口。
    • volumes:定义数据卷,用于持久化MySQL的数据。
    • restart:定义容器的重启策略。
  4. 访问应用
    与使用 Docker CLI 的方式相同,MySQL Workbench 容器提供了MySQL服务,可以通过宿主机上的MySQL Workbench客户端连接到这个服务。

  • MYSQL_WORKBENCH_LICENSE:环境变量,用于接受MySQL Workbench的许可协议。
  • volumes:数据卷,用于存储MySQL的数据文件,以便在容器重启后保留数据。

请注意,MySQL Workbench 本身并不是作为一个Docker容器运行的,而是作为一个客户端工具在宿主机上运行。Docker容器提供的是MySQL服务,可以通过MySQL Workbench客户端连接和管理。在实际使用时,需要将 /path/to/mysql-workbench-data 替换为实际的宿主机上用于存储MySQL数据的路径。


网站公告

今日签到

点亮在社区的每一天
去签到