【问题标题】:Failing to connect to MySQL in Dlang with vibe-d and mysql-native无法使用 vibe-d 和 mysql-native 连接到 Dlang 中的 MySQL
【发布时间】:2022-07-01 16:32:28
【问题描述】:

我有一个简单的 vibe-D 程序正在尝试连接到 SQL:

import std.stdio;
import mysql;
import vibe.d;
void main()
{
  MySQLPool db_pool = new MySQLPool("localhost","root","","dbname",3306);
  Connection db = db_pool.lockConnection();
  // same thing happens with:
  // string connectionStr = "host=localhost;port=3306;user=root;db=dbname";
  // db = new Connection(connectionStr);
}

(为了简化,我删除了其他所有内容)

依赖关系:

"dependencies": {
  "mysql-native": "~>3.2.0",
  "vibe-d": "~>0.9.4"
}

它无法连接到:

object.Exception@../../../.dub/packages/vibe-core-1.22.4/vibe-core/source/vibe/core/net.d(256): Failed to connect to [0:0:0:0:0:0:0:1]:3306: refused

当我在 dub 项目中尝试不使用 vibe-d(使用 phobos 套接字)时,它可以毫无问题地连接。我做错了什么?

【问题讨论】:

  • 这是一个ipv6地址....你的mysql在那个接口上监听吗?可能有助于尝试 127.0.0.1 而不是 localhost 并看看会发生什么。
  • 哇,就是这样!太感谢了。如果您愿意,请随意创建答案

标签: mysql d vibed


【解决方案1】:

这是一个ipv6地址....你的mysql在那个接口上监听吗?可能有助于尝试 127.0.0.1 而不是 localhost 并看看会发生什么。

也可以考虑重新配置mysql来监听所有接口,包括ipv6

【讨论】: