MySQL登录错误

时间:2014-12-29 10:39:40

标签: mysql vb.net

我有一个由paralell plesk托管的MySQL数据库,我正在尝试使用Visual Basic进行连接。目前每次我尝试连接时都会出现以下错误

  

使用方法'mysql_native_password'对用户'myuser'的主机'xx.xx.xxx.xxx'进行身份验证失败,并显示消息:用户'root'的访问被拒绝@'我的公共IP地址'(使用密码:否)< / p>

这是我的代码:

Imports System.Net
Imports MySql.Data.MySqlClient

Public Class SQLControl
    Private SQLCon = New MySqlConnection("Server=50.62.209.150 ; user id=root ;password=; database=mytestdb;")
    Private SQLCmd As MySqlCommand
    Public SQLDA As MySqlDataAdapter
    Public SQLDS As DataSet

    Public Function HasConnection() As Boolean
        Try
            SQLCon.Open()
            SQLCon.Close()
            Return True
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
        Return False
    End Function

    Public Sub RunQuery(Query As String)
        Try
            SQLCon.Open()

            ' Create Command
            SQLCmd = New MySqlCommand(Query, SQLCon)

            ' Fill Dataset
            SQLDA = New MySqlDataAdapter(SQLCmd)
            SQLDS = New DataSet
            SQLDA.Fill(SQLDS)

            SQLCon.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
            ' Make sure connection is Closed
            If SQLCon.State = ConnectionState.Open Then SQLCon.Close()
        End Try
    End Sub

1 个答案:

答案 0 :(得分:0)

应该非常明显:Server=50.62.209.150 ; user id=root ;password=

您正尝试使用root用户连接到公共服务器而没有密码。虽然这可以配置,但这将允许任何人连接,并且您的服务器将在几分钟内被黑客攻击。

请阅读有关用户帐户管理http://dev.mysql.com/doc/mysql-security-excerpt/5.1/en/user-account-management.html的mysql文档,您应该能够解决问题。

最好的办法是创建一个权限有限的专用用户。如果您想从固定的IP地址连接,您甚至可以将用户限制为您的IP(user@xxx.xxx.xxx.xxx