我在 C# 中有一个应用程序,我想远程连接到 cpanel 中的 mysql 数据库 我的代码是:
static string MyConString = SERVER= remoteDomin.com;DATABASE=XXX;UID=XXX;PASSWORD=XXX;";
MySqlConnection connection = new MySqlConnection(MyConString);
但这不能成功并抛出 MySql.Data.MySqlClient.MySqlException
:
Access denied for user 'XXXr'@'adsl-109-74-46-204.dynamic.yemennet.ye' (using password: YES)
最佳答案
“在控制面板中”是什么意思?您的 MySQL 服务器是否在托管服务提供商处运行?你的客户端在你的本地机器上吗?如果是这样,那意味着您正在尝试通过公共(public)互联网连接您的 MySQL 客户端和服务器。看起来这确实是您想要做的。
许多托管服务提供商不允许这样做。你的确实如此,因为你收到的消息说 MySQL 服务器正在拒绝你的特定连接请求。
您需要在您的 MySQL 数据库中授予访问权限,以便
XXXr@%
或者也许
XXXr@adsl-109-74-46-204.dynamic.yemennet.ye
可以访问您的数据库。第一个选项授予尝试从任何主机连接的用户 XXXr 的访问权限。第二个提到与您当前的 ADSL 访问 IP 号码一起的主机名。
如果您不知道如何通过您的控制面板授予此用户权限(也称为用户访问权限),请向托管服务提供商的技术支持寻求帮助。
您的托管服务提供商(运行 MySQL 服务器并提供 cpanel 访问权限的服务)可能不允许这样做。允许来自公共(public)互联网的 MySQL 数据库连接通常被认为有些不安全。
关于c# - cpanel远程连接mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14187682/