主机不允许连接

时间:2017-09-14 05:09:43

标签: mysql database vb.net

例外情况说主机'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();
        }

create database查询正确执行。 但是当我登录登录表单时,它给了我异常。 我已经尝试了this但它仍然给了我同样的例外。 这是Login的代码。在加载事件中我把这个

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();

1 个答案:

答案 0 :(得分:0)

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

您可能想要限制主机,无论如何您应该阅读一些关于mysql安全性的内容。花一点时间。

此外,您不希望通过将参数放在查询中来构建查询。阅读sql注入攻击。