这是我的连接字符串
mySqlCon.ConnectionString = "server=testserver.noip.me; port=3306; database=testserver1; uid=admin; pwd=admin"
我创建了一个带有 TryCatch 函数的 vb.net 应用程序来检查 MySql 连接。
我的服务器 testserver.noip.me
是我的public ip 的主机名(主机名是一个例子,如果你在线检查端口,它不会工作)。如果我将服务器更改为 localhost/127.0.0.1 或我的 private ip 地址(类似于 192.168.0.xx),结果是连接就好了。甚至可以在同一 wifi 网络内的另一台 PC 上连接到数据库。
每当我将其更改为我的公共(public) IP 地址或我的主机名时,应用程序都会返回一条错误消息:
"Unable to connect to any of the specified MySQL hosts."
这是代码
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
额外信息:我已经安装了 connectornet 并为此使用了 MySQL workbench。
在本地网络上一切正常,但在网上却不行。知道我应该怎么做才能使应用程序从另一个在线网络成功连接到数据库吗?请不要使用 SSH 或任何安全连接指南,因为这只是一个测试服务器。
最佳答案
在您的 MYSQL(源机器)中,您必须为目标域名启用访问权限。 在主机表中添加您的目标 IP。
关于mysql - 如何从另一台PC在线连接到MySQL数据库?网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31739561/