mysql - 如何在线访问MySQL数据库?

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

我知道这种问题已经重复了很多次,但是没有合适的答案。

总而言之,我已经尝试连接到本地主机和我的私有(private) IP 地址,并且工作正常。我还在我的路由器中转发了端口3306,测试了外部ip端口(已成功打开)。

如果我使用我的公共(public) IP 地址作为“服务器”连接字符串,连接将无法正常工作。

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

Similar Question Link Here

最佳答案

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

  1. 我的服务器在 Linux 上运行,默认情况下服务器的配置只允许来自本地主机的连接,所以为了修复我已经编辑了/etc/mysql/my.cnf 文件:将绑定(bind)地址从127.0.0.1 至 0.0.0.0 (如果版本有点旧,您必须注释“skip-networking”命令)。

  2. 另外(非常重要)我授予连接应用程序需要连接的特定数据库的权限,通过 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  

关于mysql - 如何在线访问MySQL数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31760204/

相关文章:

Mysql 将两个表列值加载到 Single 中

mysql - MySQL TOP 的正确语法是什么?

MYSQL + 更新 ID 列

vb.net - VBScript 与 VB.NET,语法相同吗?

vb.net - 多维数组列表

java - 如何在Java中分别绑定(bind)IPv6和IPv4

Python 套接字模块。连接到 HTTP 代理然后对外部资源执行 GET 请求

mysql - 在我的 sql 查询中收到 'users_personals.user_id' 中的未知列 'where clause'

c# - 将任何 n 位数字四舍五入为 (n-1) 个零位

ios - 失败(POSIXErrorCode : Address already in use)