远程连接到cpanel中的mysql数据库

Posted

技术标签:

【中文标题】远程连接到cpanel中的mysql数据库【英文标题】:remote connect to mysql database in cpanel 【发布时间】: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)

【问题讨论】:

【参考方案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 用户。 询问您的托管服务提供商公司。每个人的做法都不一样。

以上是关于远程连接到cpanel中的mysql数据库的主要内容,如果未能解决你的问题,请参考以下文章

远程连接到 Aurora Serverless

Google Apps Script JDBC - 仅当 cpanel 中的远程数据库访问主机设置为全开时有效

如何使用SSL JDBC连接到MySQL服务器

连接远程 mysql 数据库,收到错误“无法连接到任何指定的 MySQL 主机”

使用 DSN ODBC 2 连接到 ONLINE MySQL 数据库

无法从 PhpStorm 远程连接到 KINSTA 站点的 MySQL