我在C#中有一个应用程序,我想远程连接到cpanel中的mysql数据库 我的代码是:
static string MyConString = SERVER= remoteDomin.com;DATABASE=XXX;UID=XXX;PASSWORD=XXX;";
MySqlConnection connection = new MySqlConnection(MyConString);
但这不会成功并抛出MySql.Data.MySqlClient.MySqlException
:
拒绝访问用户'XXXr'@'adsl-109-74-46-204.dynamic.yemennet.ye' (使用密码:是)
答案 0 :(得分:1)
你是什么意思“在cpanel?”您的MySQL服务器是否在托管服务提供商处运行?您的客户端是否在本地计算机上?如果是这样,那意味着您正试图通过公共互联网连接MySQL客户端和服务器。看起来这肯定是你要做的事情。
许多托管服务提供商不允许这样做。您的确如此,因为您收到的消息表明MySQL服务器拒绝您的特定连接请求。
您需要在MySQL数据库中授予访问权限,以便
XXXr@%
或者
XXXr@adsl-109-74-46-204.dynamic.yemennet.ye
可以访问您的数据库。第一个选择授予对尝试从任何主机连接的用户XXXr的访问权限。第二个提到与您当前的ADSL访问IP号一起使用的主机名。
如果您无法通过cpanel了解如何授予此用户权限(也称为用户访问权限),请向托管服务提供商的技术支持部门寻求帮助。
您的托管服务提供商 - 运行MySQL服务器并提供cpanel访问权限的服务 - 可能不允许这样做。通常认为允许来自公共互联网的MySQL数据库连接有点不安全。