我在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;
}
}
答案 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中启用远程访问