簡體   English   中英

如何將 vb.net 連接到 ONLINE MySQL 數據庫?

[英]How to connect vb.net to ONLINE MySQL database?

任何人都知道如何將 vb.net windows 窗體應用程序連接到在線/內聯網數據庫中?

我嘗試使用本地主機,是的,它可以連接,但是如果我在主機中使用 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 

是的,您可以通過網絡連接到 MySQL 服務器。 確保您使用的是正確的 IP 地址,並且 MySQL 實際上正在偵聽該接口/端口。 另外,請檢查您的防火牆。 需要注意的幾點:

  • 這通常是一種緩慢的做事方式
  • MySQL的有線協議是不安全的。 您應該通過 SSL 或 VPN 執行此操作。
  • 將您的服務器隱藏在某個隨機端口號上並沒有什么壞處。 這並不能保護您,但通常可以防止成群的機器人不斷使用默認密碼攻擊您的服務器。 如果您只允許 MySQL 偵聽您的 VPN 接口(推薦),那么這無關緊要。

您可能需要熟悉一些事情。

MySQL中“localhost”和127.0.0.1之間的區別

當您使用 IP 地址與 localhost 連接時 - 它通過 TCP 協議連接。

當您使用“localhost”名稱與 localhost 連接時 - 它會嘗試通過共享內存(或 linux 下的套接字)進行連接。

在第二種情況下 - 如果您的服務器關閉了“共享內存”,您將不會通過“本地主機”連接到本地主機。 您可以在本地服務器上打開該協議,或使用 127.0.0.0 來強制 TCP 連接。

從其他主機連接的 MySQL 權限

在 MySQL 中,用戶默認只有從本地主機連接的權限。 您可能需要添加權限才能從其他主機連接到特定用戶。

閱讀: 授予從任何 IP 地址遠程訪問 MySQL 數據庫的權限

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM