Mysql不会使用正确的用户登录

时间:2014-09-03 09:52:39

标签: c# mysql

我一直在构建一个连接到mysql的应用程序,当我在我的计算机上工作时,它运行得很好。但是,现在我需要在我的客户端计算机上安装此应用程序。在他们的计算机上,我的mysql连接无法登录,我使用了正确的用户和密码,我使用的是phpmyadmin,但它总是说用户名或密码不正确。我与我创建的用户有问题,因此我使用root,但我仍然无法连接。

我的电脑有Windows 8,我的mysql版本是5.6.20

我的客户端计算机有windows 2008基础,而mysql版本是5.0.95。

我使用5.0.95连接器版本似乎与5.6.20兼容,但也许这就是问题,如果连接器版本不正确,请说明。

这是我用来创建mysql连接的代码:

    private MySqlConnection connection;

    /**
     * Constructor
     */
    public DBControl(EtiPrinter etiPrinter)
    {
        this.etiPrinter = etiPrinter;
        Initialize();

        if (OpenConnection())
        {
            CloseConnection();
        }
        else
        {
            throw new EtiPrinterException("Can't open the connection");
        }
    }

    /**
     * Initialize values
     */
    private void Initialize()
    {
        connection = new MySqlConnection(
            "SERVER=123.234.123.234;" + 
            "DATABASE=databse;" + 
            "UID=root;" + 
            "PASSWORD='password';"
        );

        /*throw new EtiPrinterException("" + etiPrinter.ConfigValues.MYSQL_Server +
        " " + etiPrinter.ConfigValues.MYSQL_DB +
        " " + etiPrinter.ConfigValues.MYSQL_UID +
        " " + etiPrinter.ConfigValues.MYSQL_Pass);*/
    }

    /**
     * open connection to database
     */
    private bool OpenConnection()
    {
        try
        {
            connection.Open();
            return true;
        }
        catch (MySqlException ex)
        {
            switch (ex.Number)
            {
                case 0:
                    throw new EtiPrinterException(ex.Message);

                case 1045:
                    throw new EtiPrinterException("Invalid username/password, please try again\n" + ex.Message);
            }
            return false;
        }
    }

    /**
     * Close connection
     */
    private bool CloseConnection()
    {
        try
        {
            connection.Close();
            return true;
        }
        catch (MySqlException ex)
        {
            Console.WriteLine(ex.Message);
            return false;
        }
    }

使用&#39>全部到位,EtiPrinterException是我创建的自定义异常。

1 个答案:

答案 0 :(得分:0)

是的,MySQL服务器上的权限有问题,但我无法解决这个问题。 我们在localhost中安装了一个新的mysql服务器并解决了问题,这不是最漂亮的解决方案,但我真的无法获得权限;

我将关闭此主题,感谢所有回答

的人