【问题标题】:Cannot connect to database using static IP address + port in C#无法使用 C# 中的静态 IP 地址 + 端口连接到数据库
【发布时间】:2013-12-03 02:40:10
【问题描述】:

我有一个连接到 MySQL 数据库的现有应用程序(使用 WampServer)。我可以使用localhost 作为我的服务器名称。

我尝试使用静态 IP 地址而不是 localhost。可以从http://192.168.1.1:1234/phpmyadmin访问数据库。

我已经这样设置了我的 app.config:

<appSettings>
    <add key="MyConnection" value="Data Source=192.168.1.1;Port=1234;Database=mydb;UID=root;" />
  </appSettings>

但当我尝试运行应用程序时收到错误:

无法从传输连接中读取数据:连接 尝试失败,因为连接方没有正确响应 一段时间后,或建立连接失败,因为 连接的主机未能响应。

有什么建议吗?

【问题讨论】:

  • 要明确——您可以使用“localhost”而不是“192.168.1.1”,它可以工作吗?
  • 是的。它适用于“本地主机”
  • 看起来相当低级;你确定telnet 192.168.1.1 1234 在命令提示符下成功了吗?
  • localhost,是的。但是什么端口?
  • 它可以在没有任何端口号的情况下工作。

标签: c# mysql phpmyadmin port


【解决方案1】:

默认情况下,phpmyadmin 监听 localhost (127.0.0.1)。您必须修改配置文件以监听 0.0.0.0

或者只是在 /etc/my.cnf 中评论这一行:

#bind-address            = 127.0.0.1

然后重启你的mysql服务器

【讨论】:

    【解决方案2】:

    可以从http://192.168.1.1:1234/phpmyadmin访问数据库

    这只是意味着您的 webserverPHP 正在端口 1234 上的 192.168.1.1 上运行。这并没有告诉我们关于 MySQL 在哪里运行的任何信息。

    如果 PHPMyAdmin 工作正常,并且您可以看到您的数据库,那么您可以在 PHPMyAdmin 配置文件中查找 MySQL 连接信息。

    通常,如果为 TCP 配置,MySQL 会侦听端口 3306。我会尝试将您的连接字符串更改为

    Data Source=192.168.1.1;Port=3306;...
    

    如果这不起作用,可能是user2196728 said,MySQL 只在本地环回适配器(127.0.0.1)上侦听,这样更安全。在这种情况下,您应该在连接字符串中使用localhost,或者更改配置文件以侦听 0.0.0.0,这意味着所有具有 IP 地址的适配器。

    【讨论】:

    • 只是想用几句话来解释事情。不管怎样,他的端口号肯定是错误的。
    猜你喜欢
    • 2013-06-13
    • 2012-03-24
    • 2023-04-03
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    • 2021-10-10
    相关资源
    最近更新 更多