【问题标题】:How to connect dbeaver with docker instance of mysql locally如何在本地将 dbeaver 与 mysql 的 docker 实例连接起来
【发布时间】:2021-07-05 15:39:21
【问题描述】:

我已经运行了这些命令:

docker run --name mysql-standalone -e 
MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=test -e MYSQL_USER=sa -e MYSQL_PASSWORD=password -d mysql:5.6

然后

 docker ps
CONTAINER ID   IMAGE       COMMAND                  CREATED       STATUS       PORTS      NAMES
35da304532c8   mysql:5.6   "docker-entrypoint.s…"   4 hours ago   Up 4 hours   3306/tcp   mysql-standalone
    docker exec -it mysql-standalone bash
    root@35da304532c8:/# mysql -uroot -p -A
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 6
    Server version: 5.6.51 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql>

但是在尝试通过 dbeaver 连接时,我得到了类似这样的东西

我哪里做错了?

【问题讨论】:

    标签: mysql docker dbeaver


    【解决方案1】:

    停止现有的 mysql 容器并将其删除:

    docker stop <container id>
    docker rm <container id>
    

    然后使用端口映射再次运行容器。使用-p 3306:3306将容器端口映射到主机端口。

    完整的命令如下:

    docker run --name mysql-standalone -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=test -e MYSQL_USER=sa -e MYSQL_PASSWORD=password -p 3306:3306 -d mysql:5.6
    

    这次 dbeaver 连接应该可以工作了。

    说明
    您的 mysql 服务器正在 docker 容器内的端口 3306 中运行。此端口在该容器内部,而不是您的主机。 Dbeaver 不知道该容器,它会尝试连接您的主机(您的笔记本电脑/PC)端口。使用-p 3306:3306 将容器端口映射到您的计算机端口。

    【讨论】:

      猜你喜欢
      • 2020-08-04
      • 2022-01-20
      • 2018-01-25
      • 2016-09-12
      • 2020-06-02
      • 2018-12-29
      • 2021-07-25
      • 1970-01-01
      • 2018-06-27
      相关资源
      最近更新 更多