1

我在 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' 的访问被拒绝(使用密码:YES)

4

1 回答 1

1

“在 cpanel 中”是什么意思?您的 MySQL 服务器是否在托管服务提供商处运行?您的客户端在本地计算机上吗?如果是这样,这意味着您正在尝试通过公共互联网在您的 MySQL 客户端和服务器之间进行连接。看起来这当然是你想要做的。

许多托管服务提供商不允许这样做。您的确实如此,因为您收到的消息表明 MySQL 服务器正在拒绝您的特定连接请求。

您需要在 MySQL 数据库中授予访问权限,以便

XXXr@%

或许

XXXr@adsl-109-74-46-204.dynamic.yemennet.ye

可以访问您的数据库。第一个选项授予尝试从任何主机连接的用户 XXXr 的访问权限。第二个提到与您当前的 ADSL 访问 IP 号码一起使用的主机名。

如果您不知道如何通过您的 cpanel 授予此用户权限(也称为用户访问权限),请向您的托管服务提供商的技术支持寻求帮助。

您的托管服务提供商(运行 MySQL 服务器并提供对它的 cpanel 访问的服务)可能不允许这样做。通常认为允许来自公共互联网的 MySQL 数据库连接有些不安全。

于 2013-01-07T01:22:47.357 回答