【问题标题】:How to connect to MySQL database from another PC online? VB.NET如何在线从另一台 PC 连接到 MySQL 数据库? VB.NET
【发布时间】:2015-10-22 17:49:29
【问题描述】:

这是我的连接字符串

mySqlCon.ConnectionString = "server=testserver.noip.me; port=3306; database=testserver1; uid=admin; pwd=admin"

我创建了一个带有 TryCatch 功能的 vb.net 应用程序来检查 MySql 连接。

我的服务器testserver.noip.me是我的公共ip 的主机名(主机名是一个例子,如果你在线检查端口,它不会起作用) 。如果我将服务器更改为 localhost/127.0.0.1 或我的 private ip 地址(类似于 192.168.0.xx),结果是连接就好了。即使在另一台 PC 上但在同一个 wifi 网络内也能连接到数据库。

每当我将其更改为我的公共 IP 地址或我的主机名时,应用程序都会返回一条错误消息:

“无法连接到任何指定的 MySQL 主机。”

这里是代码

Try
        mySqlCon.Open()

        If mySqlCon.State = ConnectionState.Open Then
            Label5.Text = "Online"
            Label5.ForeColor = Color.GreenYellow
            LoginBtn.Enabled = True
        Else
            Label5.Text = "Offline"
            Label5.ForeColor = Color.LightPink
            LoginBtn.BackColor = Color.Red
        End If

        mySqlCon.Close()
    Catch ex As MySqlException
        If mySqlCon.State = ConnectionState.Open Then
            mySqlCon.Close()
        End If
Finally
        mySqlCon.Dispose()
    End Try

我也在路由器中做了端口转发,结果很好:

并且主机名端口 3306 检查也是打开的:

额外信息:我已经安装了 connectornet,并且正在为此使用 MySQL 工作台。

在本地网络上一切正常,但不在线。知道我应该怎么做才能使应用程序从另一个在线网络成功连接到数据库吗?请不要使用 SSH 或任何安全连接指南,因为这只是一个测试服务器。

【问题讨论】:

  • 您能否通过远程 PC 上的 MySQL 接口(如果已安装)访问数据库,您想在哪里连接?您也可以尝试服务器名称/实例,例如testserver.noip.me/myInstance
  • @SJSSoft 不,我没有在远程 PC 上安装接口。我只是发送发布文件,从 setup.exe 安装 vb 应用程序(也会自动下载连接器)跨度>
  • 那么你必须使用实例测试连接字符串。我有同样的问题。我有 ip 172.XX.XX.XX,当我尝试在本地访问它时,它正在工作,但在远程它失败了。然后我使用了 172.XX.XX.XX/rserver,它成功了。也尝试使用 IP 而不是服务器名称。
  • @SJSSoft 我尝试将我的公共 IP 用于服务器,但也失败了。顺便说一句,我如何使用 Instance 对其进行测试?
  • dev.mysql.com/downloads/workbench 下载 Workbench (MySQL GUI) 并安装它。然后尝试使用 Workbench 访问远程数据库。使用 WorkBench 连接远程数据库的分步指南dev.mysql.com/doc/workbench/en/…

标签: mysql vb.net networking visual-studio-2013 mysql-workbench


【解决方案1】:

在您的 MYSQL(源计算机)中,您必须启用目标域名的访问权限。 在主机表中添加您的目标 IP。

【讨论】:

  • 如何启用目的域名?你有什么例子吗?
  • 通常此选项将在用户名和密码创建部分可用。我正在使用 phpMyadmin 界面访问 mysql。它具有使特定主机能够使用 mysql 的选项。还要确保远程计算机中的防火墙不影响你的mysql驱动与其他域的通信。
  • 你的意思是你可以将myphpadmin数据库同步到mysql工作台?
【解决方案2】:

那是因为你没有转发端口。

转到您的路由器设置,找到端口转发使用 HTTP 添加服务,输入您的本地 IP 地址,然后指定 3306 端口作为结束端口。

这对我有用。也许它也适合你。

【讨论】:

    猜你喜欢
    • 2012-03-16
    • 2017-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    相关资源
    最近更新 更多