如何将 vb.net 连接到 ONLINE MySQL 数据库?
Posted
技术标签:
【中文标题】如何将 vb.net 连接到 ONLINE MySQL 数据库?【英文标题】:How to connect vb.net to ONLINE MySQL database? 【发布时间】:2013-04-21 02:26:24 【问题描述】:有人知道如何将 vb.net windows form 应用程序连接到在线/内网数据库吗?
我尝试使用 localhost,是的,它可以连接,但是如果我在主机中使用 IP,我将无法访问数据库。
这是我的连接:
Dim conStr As String = "server=192.168.1.18;Uid=root;Pwd='';Database=hrms"
Dim con As New mysqlConnection(conStr)
Try
MessageBox.Show("Connecting to mysql database..................")
con.Open()
Dim sqlStr As String = "SELECT * FROM accounts"
Dim cmd As MySqlCommand = New MySqlCommand(sqlStr, con)
Dim rd As MySqlDataReader = cmd.ExecuteReader
rd.Read()
If rd.HasRows Then
MessageBox.Show(rd(0) & " " & rd(1) & " Naa koi na fetch")
Exit Sub
Else
MessageBox.Show("Could not find something")
Exit Sub
End If
con.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
【问题讨论】:
可能重复:***.com/questions/2269237/… 你能回答我的问题吗,如果我在连接中使用 IP 地址会怎样?我发布的代码不正确。老师可以教我吗? 请阅读其他问题的答案。它们应该涵盖所有情况。无论如何,我没有直接在您的代码中看到错误,它必须是一些基础设施问题(防火墙、端口、错误的 IP、错误的用户名......) OK tnx 获取信息! @Kenneth,你链接的问题是一个非常糟糕的问题,这不是它的重复。 【参考方案1】:是的,您可以通过网络连接到 MySQL 服务器。确保您使用的是正确的 IP 地址,并且 MySQL 实际上正在侦听该接口/端口。另外,请检查您的防火墙。需要注意的几点:
这通常是一种缓慢的做事方式 MySQL 有线协议不安全。您应该通过 SSL 或 *** 执行此操作。 将您的服务器隐藏在某个随机端口号较高的位置上并没有什么坏处。这并不能保护您,但通常可以防止成群的机器人不断地用默认密码敲打您的服务器。如果您只允许 MySQL 侦听您的 *** 接口(推荐),那么这无关紧要。【讨论】:
【参考方案2】:您可能需要熟悉一些事情。
MySQL中“localhost”和127.0.0.1的区别
当您使用 IP 地址与 localhost 连接时 - 它通过 TCP 协议连接。
当您使用“localhost”名称与 localhost 连接时 - 它会尝试通过共享内存(或 linux 下的套接字)进行连接。
在第二种情况下 - 如果您的服务器关闭了“共享内存”,您将无法通过“localhost”连接到 localhost。您可以在本地服务器上打开该协议,或使用 127.0.0.0 强制 TCP 连接。
从其他主机连接的 MySQL 权限
默认情况下,MySQL 用户只能从 localhost 进行连接。您可能需要添加权限才能从其他主机连接到特定用户。
阅读:grant remote access of MySQL database from any IP address
【讨论】:
以上是关于如何将 vb.net 连接到 ONLINE MySQL 数据库?的主要内容,如果未能解决你的问题,请参考以下文章
如何使 datagridview 实时连接到本地存储在 VB.NET 中的访问数据库?
将 32 位 VB.Net 连接到 64 位 Access .ACCDB
如何在 VB.net 中连接到本地网络上的 Access 数据库?
JS Websocket 卡在连接到 TCPListener 的状态 - VB.net