windows本地dockr的clickhouse链接本地mysql服务,连接不上

不想看过成的,解决办法在最后面

报错信息:

SQL 错误 [1000] [08000]: Poco::Exception. Code: 1000, e.code() = 0, Exception: Connections to all replicas failed: test1@localhost:3306 as user root (version 21.12.3.32 (official build))
, server ClickHouseNode [uri=http://localhost:8123/default, options={use_server_time_zone=false,use_time_zone=Asia/Shanghai}]@1875579320

clickhost创建语句:

CREATE table test1.mysqlTest(

aid Int16,

age Int64

)ENGINE=MySQL('localhost:3306','test1','a','root','root');

我使用这条SQL去链接MYSQL服务,但是报错了,显示错误信息:

SQL 错误 [1000] [08000]: Poco::Exception. Code: 1000, e.code() = 0, Exception: Connections to all replicas failed: test1@localhost:3306 as user root (version 21.12.3.32 (official build))
, server ClickHouseNode [uri=http://localhost:8123/default, options={use_server_time_zone=false,use_time_zone=Asia/Shanghai}]@1875579320
 

在网上找的答案可以分为如下:

这个错误表明 ClickHouse 无法连接到 MySQL 数据库。这可能是由于以下原因:

1. MySQL 服务器没有运行。您可以通过在命令行输入 mysql -u root -p 来检查 MySQL 服务器是否正在运行。

2. MySQL 服务器的地址或端口可能不正确。在这个错误中,地址是 127.0.0.1,端口是 3306。这通常是默认的 MySQL 地址和端口,但如果您的 MySQL 服务器使用了不同的地址或端口,您需要在连接字符串中进行更改。

3. 用户名或密码可能不正确。在这个错误中,用户名是 root。如果您的 MySQL 服务器使用了不同的用户名或密码,您需要在连接字符串中进行更改。

4. 防火墙可能阻止了连接。您可以检查您的防火墙设置,以确保允许从 ClickHouse 到 MySQL 的连接。

5. MySQL 服务器可能没有允许远程连接。您可以检查 MySQL 服务器的配置,以确保允许远程连接。

还有以下方法:

可是我都试过了,都不行,最后我突然想起来:

在 Docker 中运行的 ClickHouse 尝试连接到宿主机(在这种情况下是 Windows)上运行的 MySQL 服务时,不能使用地址 127.0.0.1 或 localhost,因为在 Docker 容器中,localhost 指的是容器自身,而不是宿主机。

解决这个问题的方法是使用特殊的 Docker 网络地址 host.docker.internal 来代替 localhost 或 127.0.0.1。这个地址在 Docker 容器中可以用来访问宿主机。

所以,您应该将连接字符串中的 127.0.0.1 更改为 host.docker.internal,然后再试一次

如下:

CREATE table test1.mysqlTest(

aid Int16,

age Int64

)ENGINE=MySQL('host.docker.internal:3306','test1','a','root','root');

链接成功 ,要是解决您的问题了,帮忙点个赞呗

再给clickhouse插入数据时,mysql也会同时更新

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皇家小黄

创作不易!!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值