我正在尝试连接到linux服务器上现有的mysql数据库和项目中的scaffold表,并通过efcore处理它们。
我使用此命令行来构建:
dotnet ef dbcontext scaffold "server={IP};port={PORT};userid={USER_ID};password={PASSWORD};database={DB_NAME};" Pomelo.EntityFrameworkCore.MySql -o Models -f
但它向我展示了这个错误:
Host '{MY_IP}' is not allowed to connect to this MySQL server
我正在使用 Pomelo.EntityFrameworkCore.MySql
上的库 .NET Core 2.1 SDK
我该怎么办?
2条答案
按热度按时间r8uurelv1#
在尝试连接之前,有两件事需要理解。
1) 通常,允许数据库监听本地计算机,即localhost。
2) 作为mysql身份验证的数据库是成对的,即。user@host_name.
所以改变db想要的方式真的是在破坏安全。
现在这里是你可以改变mysql监听世界其他地方的方式。
e5nszbig2#
如果您的mysql示例绑定到公共ip地址(您可以通过对该ip进行3306端口扫描来检查这一点—假设mysql在标准端口上运行),那么您需要为正在使用的用户授予数据库特权,如下所示:
运行完后,需要运行
FLUSH PRIVILEGES;
命令。假设满足上述所有条件,您应该能够远程访问数据库。