0

我正在用 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;
            }
        }
4

2 回答 2

0

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

尝试(作为根):

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 等(对多个操作使用逗号分隔的列表)。

于 2013-08-26T21:08:13.090 回答
0

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

于 2013-09-01T11:09:49.060 回答