如何在线访问MySQL数据库?

时间:2015-08-01 09:11:46

标签: mysql vb.net networking database-connection mysql-workbench

我知道这种问题已经重复了很多次,但没有正确答案。

总结一下,我尝试连接到localhost和我的私有IP地址,它工作正常。我还端口转发了我的路由器中的端口3306,测试了外部IP端口(已成功打开)。

如果我将公共 IP地址用于'服务器'该连接将无法正常工作。连接字符串。

以下链接提供了有关我的问题的更多详细信息D:今天是我找到解决方案的第4天。

Similar Question Link Here

1 个答案:

答案 0 :(得分:0)

我认为它不是网络问题(如果您正确配置了端口转发) 我从wan(或lan)连接到服务器时遇到了类似的问题,我就这样修复了:

  1. 我的服务器在Linux上运行,默认情况下,服务器的配置只允许从localhost连接,所以要修复我已编辑的/ etc / mysql / my.cnf文件:更改了绑定 - 地址从127.0.0.1到0.0.0.0 (如果版本有点旧,你必须评论" skip-networking"命令)。

  2. 也(非常重要)我有权通过PHPmyadmin>>连接应用程序需要连接的特定数据库。选择数据库>>使用权限选项卡。

  3. 这是我用来连接的代码,它从wan(通过外部ip)以及从lan到远程服务器都很完美。

    希望它有所帮助...

     Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim conn As New MySql.Data.MySqlClient.MySqlConnection
        Dim myConnectionString As String
    
        myConnectionString = "server=XX.XX.XX.XX;" _
                    & "uid=root;" _
                    & "pwd=435435;" _
                    & "database=Test;"
    
        Try
            conn.ConnectionString = myConnectionString
            conn.Open()
            Dim query As String = "SELECT name FROM Test_Table"
    
    
            Dim cmd As MySqlCommand
            cmd = New MySqlCommand(query, conn)
            ' cmd.Parameters.AddWithValue("@username", Usernametextbox.Text)
            Dim userLevel As String = cmd.ExecuteScalar()
            MsgBox(userLevel)
            con.Close()
    
        Catch ex As MySql.Data.MySqlClient.MySqlException
            MessageBox.Show(ex.ToString)
        End Try
    
    End Sub