【问题标题】:Using C# to connect to online MySQL database - user has no privileges使用 C# 连接在线 MySQL 数据库 - 用户没有权限
【发布时间】:2019-10-01 09:50:30
【问题描述】:

更新:联系了我网站的虚拟主机,他们说

共享服务器上没有启用远程 mysql 连接,你需要一个 VPS。

尝试通过在 Visual Studios 上创建的 C# Windows 窗体连接到在线数据库。

数据库、用户名和密码是正确的,因为我在网站上使用它们通过 PHP 连接到数据库。服务器是正确的,因为我已经设法直接连接到主机并将文件成功上传到服务器。

在主机控制面板上,我允许通过“远程 MySQL”连接我的 IP 地址。

我尝试登录的用户拥有所有权限。当我登录到 phpmyadmin 时,它说用户没有权限。顶部没有“用户帐户”选项。

C#

connString = "server=XXX; port=3306; Database=XXX; Uid=XXX; Pwd=XXX;";
try
{
     conn = new MySqlConnection();
     conn.ConnectionString = connString;
     conn.Open();
     MessageBox.Show("Connected");

     DBConnection.Open();
     OleDbCommand command = new OleDbCommand();
     command.Connection = DBConnection;
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
     MessageBox.Show(ex.Message);
}

我希望连接到在线数据库,但在消息框中却收到以下错误消息:

无法连接到任何指定的 MySQL 主机。”

我认为这与其说是代码问题,不如说是用户缺乏权限,但由于没有用户对 phpmyadmin 有权限,我陷入了需要授予权限而没有任何权限的循环所以。

【问题讨论】:

  • 记住,MySQL 中的用户有一个域部分。这指定了允许用户名连接的位置。所以你必须创建一个允许从你的 IP 地址连接到这个 MySQL 的用户
  • 您通常会使用root 超级用户来分配新用户和权限。您是否有权访问 root 帐户或提供给您的其他管理员帐户?
  • 据我所知,没有提供管理员帐户。我已经向我的主机提出了支持票(无限网络托管)。有没有办法找出来?我尝试使用“SELECT user, password FROM mysql.users”,但被拒绝了。
  • 欢迎来到 Stackoverflow。是您的服务器端口,3306 可用于从外部 ip 连接。如果不为其创建规则
  • 感谢您的帮助。我联系了我的主机并需要一个 VPS 主机。

标签: c# mysql phpmyadmin


【解决方案1】:

我连接了托管服务提供商,他们说:

“共享服务器上未启用远程 mysql 连接,您需要一个 VPS。”

【讨论】:

  • 您使用的是“主机”而不是 VPS!请联系主机公司的支持以获取更多信息。
猜你喜欢
  • 1970-01-01
  • 2013-07-26
  • 1970-01-01
  • 2020-10-08
  • 1970-01-01
  • 1970-01-01
  • 2011-01-17
  • 1970-01-01
  • 2012-04-27
相关资源
最近更新 更多