gpt4 book ai didi

mysql - 主机不允许连接

转载 作者:行者123 更新时间:2023-11-29 18:25:47 25 4
gpt4 key购买 nike

异常表明主机“XX”不允许连接到此 MySQL 服务器。我正在使用 VB.Net,我有一个连接到 MySQL 的 Connect.vb 类,它有一个创建数据库(如果不存在)查询。

MySqlConnection conn = new MySqlConnection("server=localhost;uid=root;pwd=root;");
MySqlCommand pst = new MySqlCommand();
try
{
conn.Open();
pst.Connection = conn;
pst.CommandText = "CREATE DATABASE IF NOT EXISTS StocksManagerDB";
pst.ExecuteNonQuery();
conn.Close();
conn = new MySqlConnection("server=localhost;database=StocksManagerDB;uid=root;pwd=root;");
conn.Open();
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show("Failure to connect to database.\nApplication will now exit.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
conn.Close();
Application.Exit();
}

创建数据库查询正确执行。但是当我在登录表单中登录时,它给了我这个异常(exception)。我已经尝试过this但它仍然给了我同样的异常(exception)。这是登录代码。在加载事件中我将其放入

conn = Connect.ConnectDB()

这是登录时button_click事件的代码

conn.Open();
pst.CommandText = "SELECT * FROM tblLogin WHERE `Username` ='" + txtUsername.Text + "' AND `Password` ='" + txtPassword.Text + "'";
rs = pst.ExecuteReader();
if (rs.Read() == true)
{
Login_Success();
}
else
{
MessageBox.Show("Login Failed!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
txtUsername.Clear();
txtPassword.Clear();
txtUsername.Focus();
}
conn.Close();

最佳答案

打开 mysql 工作台。转到用户和权限。将用户的主机替换为“%”。您正在使用 root 帐户创建一个用户。点击底部的添加帐户。填写所需信息。然后单击架构权限选项卡。单击添加条目并添加允许该用户执行和访问的任何操作。使用您的应用程序的用户/密码。

无论如何,你可能想限制主机,你应该阅读一些有关 mysql 安全性的内容。花费所需的时间。

此外,您不希望通过将参数放入查询中来构建查询。了解有关 SQL 注入(inject)攻击的信息。

关于mysql - 主机不允许连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46210954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com