无效的用户名/密码

时间:2013-08-26 20:55:33

标签: c# mysql

我在C#中连接到MySQL数据库。我使用100%正确的用户名和密码,但我得到无效的用户名/密码或错误没有1045.我尝试删除数据库和用户并重新创建所有这些并在cpanel中分配所有权限但失败了。它适用于我的计算机localhost(虚拟服务器)。试了这么多次。请帮忙。我的代码是

        string myConnectionString = @"server=mydomain.co.uk;userid=MyUserID;
        password=PasswordOfUser;database=databasename";
        MySqlConnection conn = null; 
        try
        {
            //MySqlConnection 
            conn = new MySqlConnection(myConnectionString);
            conn.Open();
            MessageBox.Show("OK");
            conn.Close();
        }
        catch (MySqlException ex)
        {
            switch (ex.Number)
            {
                case 0:
                    MessageBox.Show("Cannot connect to server.  Contact administrator");
                    break;
                case 1042:
                    MessageBox.Show("Can't get hostname address. Check your internet connection. If does not solve, contact Administrator");
                    break;
                case 1045:
                    MessageBox.Show("Invalid username/password");
                    break;
            }
        }

2 个答案:

答案 0 :(得分:0)

错误1045不一定仅用于无效的用户/密码组合。它可以指示您用于登录的用户名没有访问此数据库所需的权限。

尝试(以root身份):

GRANT ALL ON database.* TO username@your-ip IDENTIFIED by 'password';

GRANT ALL ON database.* TO username@localhost IDENTIFIED by 'password';

如果您想限制此用户的操作,请将ALL修改为允许用户执行的特定操作,例如: SELECT,INSERT,DELETE等(对多个动作使用逗号分隔列表)。

答案 1 :(得分:0)

通过添加主机(IP或DOMIAN等)在cpanel中启用远程访问