【问题标题】:How to connect to MySQL database cluster如何连接到 MySQL 数据库集群
【发布时间】:2022-01-13 12:30:05
【问题描述】:

我尝试使用下面的 Docker 映像安装 MySQL 集群。

mysql/mysql-cluster - Docker Image | Docker Hub

Docker 镜像被拉取并成功运行。

尽管我可以在终端中连接到集群(如下面的屏幕截图所示),但我不知道如何使用 MySQL Workbench 或 DBeaver 连接到它。

【问题讨论】:

    标签: mysql docker mysql-workbench dbeaver mysql-cluster


    【解决方案1】:

    在您的 docker run 命令中,您可以使用-p 3306:3306(或任何可用端口)。然后您可以使用来自 Workbench 或 Dbeaver 连接 URL 的<host>:<port>

    【讨论】:

    • 正如您回复的那样,我删除了所有现有容器并再次创建它们。下面的端口是在创建期间指定的。 docker run -d --net=cluster --name=mysql1 --ip=192.168.0.10 -e MYSQL_ROOT_PASSWORD='tpffnrtm1!' -p 3306:3306 mysql/mysql-cluster mysqld 但在 dbeaver 中出现如下错误。 ▶ 通信链路故障。最后一个成功发送到服务器的数据包是 0 毫秒前。驱动程序没有收到来自服务器的任何数据包。连接超时。
    • 可以通过 telnet/nc 访问你的 :3305 吗?
    【解决方案2】:

    我假设您已经知道如何将新的数据库连接添加到 MySQL WorkbenchDBeaver。您需要的信息是您需要用于连接到 MySQL 集群的已验证用户的连接 URL用户名/密码

    对于连接 URL192.168.0.10(您的示例中没有端口)

    您需要让您的MySQL WorkbenchDBeaver 连接到MySQL 节点 的URL,在您的示例中为mysql1 节点。如您的屏幕截图所示,它是192.168.0.10,没有任何明确的端口。但是,如果您的 URL 有问题,您可以运行 docker ps 来检查您的 mysql1 正在运行和暴露在哪个主机和端口。

    对于用户名/密码:root/tpffnrtm1(密码是MYSQL_ROOT_PASSWORD的值,如您的MySQL节点命令中的docker run所示)

    我假设您只想通过任何方式连接数据库集群(root 或非 root 权限对您来说完全没问题)。

    【讨论】:

    • 正如您回复的那样,我删除了所有现有容器并再次创建它们。下面的端口是在创建期间指定的。 docker run -d --net=cluster --name=mysql1 --ip=192.168.0.10 -e MYSQL_ROOT_PASSWORD='tpffnrtm1!' -p 3306:3306 mysql/mysql-cluster mysqld 但在 dbeaver 中出现如下错误。 ▶ 通信链路故障。最后一个成功发送到服务器的数据包是 0 毫秒前。驱动程序没有收到来自服务器的任何数据包。连接超时。
    • 你能把你在尝试连接 dbeaver 时使用的信息(连接字符串、驱动程序、uname/密码)发给我吗?
    猜你喜欢
    • 2021-09-19
    • 2020-10-10
    • 2021-04-16
    • 1970-01-01
    • 2013-11-12
    • 1970-01-01
    • 2020-02-27
    • 2023-04-04
    • 2014-03-04
    相关资源
    最近更新 更多