我知道这种问题已经重复了很多次,但没有正确答案。
总结一下,我尝试连接到localhost和我的私有IP地址,它工作正常。我还端口转发了我的路由器中的端口3306,测试了外部IP端口(已成功打开)。
如果我将公共 IP地址用于'服务器'该连接将无法正常工作。连接字符串。
以下链接提供了有关我的问题的更多详细信息D:今天是我找到解决方案的第4天。
答案 0 :(得分:0)
我认为它不是网络问题(如果您正确配置了端口转发) 我从wan(或lan)连接到服务器时遇到了类似的问题,我就这样修复了:
我的服务器在Linux上运行,默认情况下,服务器的配置只允许从localhost连接,所以要修复我已编辑的/ etc / mysql / my.cnf文件:更改了绑定 - 地址从127.0.0.1到0.0.0.0 (如果版本有点旧,你必须评论" skip-networking"命令)。
也(非常重要)我有权通过PHPmyadmin>>连接应用程序需要连接的特定数据库。选择数据库>>使用权限选项卡。
这是我用来连接的代码,它从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