c# -无法连接到任何指定的MySQL主机
本文关键字:MySQL 主机 任何指 连接 | 更新日期: 2023-09-27 18:10:19
我正在用c#和MySQL创建一个系统,但我一直得到这个令人沮丧的错误,"无法连接到任何指定的MySQL主机"。我已经尝试了很多不同的事情,但没有工作,有人可以试着帮助我吗?
public bool tryLogin(string username, string password)
{
MySqlConnection con = new MySqlConnection("host=hostremoved;user=user_removed;password=passwordremoved;database=databaseremoved;");
MySqlCommand cmd = new MySqlCommand("SELECT * FROM login WHERE user_name = '" + username + "' AND user_pass = '" + password + "';");
cmd.Connection = con;
con.Open();
MySqlDataReader reader = cmd.ExecuteReader();
if (reader.Read() != false)
{
if (reader.IsDBNull(0) == true)
{
cmd.Connection.Close();
reader.Dispose();
cmd.Dispose();
return false;
}
else
{
cmd.Connection.Close();
reader.Dispose();
cmd.Dispose();
return true;
}
}
else
{
return false;
}
}
private void btnlogin_Click(object sender, EventArgs e)
{
if (tryLogin(txtuser.Text, txtpass.Text) == true)
{
MessageBox.Show("Login worked!");
}
else
{
MessageBox.Show("Login failed!");
如果它不是防火墙,并且数据库设置为侦听远程连接,那么您应该检查您的用户凭证是否已配置,以便指定的数据库将接受来自给定IP的连接。如果用户只能从本地主机连接,那么您需要以root身份登录并发出GRANT语句,如:
GRANT ALL ON yourDbName.* TO 'yourUser'@'yourIP' IDENTIFIED BY "yourPassword";
有关使用GRANT的更多信息,请参见:
http://dev.mysql.com/doc/refman/5.1/en/grant.html是防火墙问题吗?检查MySql实例运行的机器是否能够通过防火墙接受连接
感谢大家的帮助!我不得不在我的防火墙上把我的IP列入白名单,它成功了!