【问题标题】:remote connect to mysql database in cpanel远程连接到cpanel中的mysql数据库
【发布时间】:2012-12-20 16:39:46
【问题描述】:

我有一个 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)

【问题讨论】:

    标签: c# mysql connection-string cpanel


    【解决方案1】:

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

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

    你需要在你的 MySQL 数据库中授予访问权限,所以

    XXXr@%
    

    或许

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

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

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

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

    【讨论】:

    • 我的意思是“cpanel”是我的托管服务提供商。我将 MySQL 中的访问权限授予用户 XXXr 。我将我的 IP 地址添加为远程数据库访问主机。但这不会成功!
    • CPANEL 不是托管服务提供商公司,它是许多托管服务提供商公司使用的知名软件包。 MySQL 访问权限不是授予 XXXr 或仅授予用户,而是授予 XXXr@hostname。有时这是 XXXr@localhost,也可以是 XXXr@%(表示任何主机)。大多数提供 CPanel 访问的托管服务提供商不允许访问他们的 MySQL 数据库服务器,除非从他们运营的 Web 服务器访问。
    • 谢谢@Ollie Jones,但是如何将 MySQL 中的访问权限授予提供 CPanel 访问的托管服务提供商中的 XXXr@hostname 用户。
    • 询问您的托管服务提供商公司。每个人的做法都不一样。
    猜你喜欢
    • 2022-06-20
    • 2018-11-12
    • 2018-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-14
    相关资源
    最近更新 更多