我正在尝试访问远程MySQL数据库。我能够连接,通过MySQL Workbench执行查询,但无法通过C#app执行查询,它与数据库连接,但查询未执行,因为访问被拒绝 错误:
1142:MySqlException(0x80004005):SELECT命令被拒绝给用户' abc' @' 117.196.109.45'对于表xyz
我也在链接一个类似的未回答的问题Remote MySql Access denied for user with C# code but can connect with DbVisualizer
答案 0 :(得分:0)
这是一个安全性和权限问题。您的MySQL Workbench使用的是abc@127.0.0.1,其中ip是localhost。但是c#app正在使用远程ip在连接字符串中提供的凭据。
如果您在localhost上,则在web.config中更改connectionstring中的凭据(如果不是webapp,则更改app.config)。
或者通过Workbench更改权限并允许该服务器117.196.109.45权限。
有关使用Workbench设置权限的信息,请参阅此视频: https://www.youtube.com/watch?v=qSdbNoW2f-c
观看此视频,了解常规问题排查工具https://www.youtube.com/watch?v=DCgRF4KOYIY