繁体   English   中英

不允许主机连接到这个 mysql 数据库

[英]Host is not allowed to connect to this mysql database

我在 web web web ASP.NET Razor 页面中使用 SignalR 和 MySQL 数据库制作聊天应用程序。 (微软 SQL 服务器管理工作室)

我想将消息和用户存储在一个表中,但是当我建立 MySQL 连接时,我收到一条错误消息:

MySql.Data.MySqlClient.MySqlException (0x80004005): Host '' is not allowed to connect to this MySQL server

这可能导致我之前在appsettings.json文件中使用 ConnectionString 连接到数据库?

这是ChatHub.cs代码:

 using Microsoft.AspNetCore.SignalR; using System.Threading.Tasks; using System; using MySql.Data; using MySql.Data.MySqlClient; using probagetrequest.Models; namespace SignalRChat.Hubs { public class ChatHub: Hub { public async Task SendMessage(string user, string message) { string connn = "Server=localhost;Database=DBChatApp;user id=sa;password=xxx"; MySqlConnection con = new MySqlConnection(connn); try { Console.WriteLine("Connecting to MySql..."); con.Open(); string cmddd = "INSERT INTO Messages (Username,Message) VALUES (@Usernamee,@Messagee)"; MySqlCommand cmd = new MySqlCommand(cmddd, con); cmd.Parameters.Add("@Usernamee", MySqlDbType.VarString).Value = user; cmd.Parameters.Add("@Messagee", MySqlDbType.VarString).Value = message; } catch (Exception exc) { Console.WriteLine(exc.ToString()); } con.Close(); Console.WriteLine("Done;.,;."). Console,WriteLine($"user={user}, message={message}"); await Clients.All.SendAsync("ReceiveMessage", user, message); } } }

您是否尝试通过 mysql 客户端 CLI 登录 MySQL 数据库。 我认为您的项目中提到的连接到 MySQL 数据库的“mysql 用户”权限有问题。

通常,您提到的错误是在设置新数据库但未配置时出现的。

尝试以下命令以超级用户身份登录 MySQL

mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'root';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM