【问题标题】:How to correctly replace 'localhost' with your own public IP in a mysql connection如何在 mysql 连接中用您自己的公共 IP 正确替换“localhost”
【发布时间】:2013-12-10 22:51:30
【问题描述】:

我希望将我的代码中的localhost 更改为适用于使用我正在创建的应用程序的用户的IP。有人可以帮我输入什么吗?我尝试只输入我的公共 IP,但它返回了 Unable to connect to any of the specified MySQL hosts.

任何关于做什么的帮助都会很棒。此外,如果我需要在端口方面做任何事情来实现这一点,请包括在内,最好附上说明。

代码:

else
{
   var constring = "datasource=localhost;port=3306;username=*****;password=*********";
   using (var con = new MySqlConnection(constring))
   {
      con.Open();

      var cmd0 = new MySqlCommand("select username from userinfo.users where username=@username");
      cmd0.CommandType = CommandType.Text;
      cmd0.Connection = con; // assign to connection
      cmd0.Parameters.AddWithValue("@username", RUsernameTextBox.Text);
      bool userNameIsFree;

      using (var reader = cmd0.ExecuteReader())
      {
         userNameIsFree = !reader.HasRows;
      }

      if (!userNameIsFree)
         CMessageBox("Error", "Username is already taken.");
      else
   }
}

【问题讨论】:

  • 如果您想从您自己的路由器后面连接到您自己的 IP,您必须使用外部 DNS 进行网络连接,还要确保您的防火墙没有阻止端口 3306。跨度>
  • @Silvermind 嗯,我的措辞可能不正确,如果我没有正确地做,我很抱歉。我想要的是,当应用程序在网络中某个随机人的机器上运行时,我的应用程序能够连接到我的 MySQL 数据库。
  • 最简单的方法是使用您的机器名称,如果它位于 LAN 或 VPN 内部。否则你可能没有正确设置防火墙或 mysql。
  • @Silvermind 我现在感觉很糟糕,我不知道你在说什么 :( 我想我知道我的机器名称,但我不知道 LAN 或 VPN 是什么。老实说,我以为我只是遗漏了几个字母或没有打开的东西。我以为您可以使用您的公共 IP 连接到该 IP 上托管的 mysql 数据库。
  • 我认为这是非常离题的。这是一个非常具体的情况,一切都是未知的。我们现在不讨论网络是如何构建的,公共和私有 ips 如何,如果是服务器或更多,路由器操作系统是否阻塞任何端口,是否将它们重定向到正确的机器,如果 mysql 服务器正在侦听是否到标准公共端口(3306),以及其他一些东西。它是您所要求的完整教程!

标签: c# mysql winforms localhost


【解决方案1】:

尝试获取您的 IP。

打开命令行(开始按钮 > 搜索... > cmd)

然后运行

ipconfig /all

查找 IPv4 地址。那是你的本地IP。

尝试使用它作为您的主机。如果它的工作,你几乎完成。只需将自己配置为网络中的固定 IP。

如果它不起作用,您将不得不检查很多事情,正如我在您的问题中评论的那样,这将很难在这里回答。

祝你好运!

【讨论】:

  • 根据我的阅读,我的 IPv4 只有我的路由器(本地)知道。我想知道该怎么做才能使一些随机下载我的应用程序的人在尝试连接到 mysql 数据库时不会被拒绝访问。真的只是想知道使用什么而不是 localhost 作为数据源。
  • 所以,这就是我在评论中所说的。你需要一个来自你的 ISP 的静态公共 IP,一个支持从外部访问的路由器,打开一些端口,将它们重定向到本地机器,将网络中的机器配置为始终使用相同的私有 ip 并监听该端口,然后配置本地 sql server 以服务来自外部的请求。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-07
  • 2016-01-01
  • 1970-01-01
  • 2011-08-08
  • 2012-09-02
  • 2012-05-05
  • 1970-01-01
相关资源
最近更新 更多