【问题标题】:How to connect to a remote MySQL server using C#?如何使用 C# 连接到远程 MySQL 服务器?
【发布时间】:2013-02-12 05:46:25
【问题描述】:

我有一个 C# 应用程序可以访问另一台计算机上的 MySQL 服务器。我正在尝试通过 IP 来实现。这是我的连接字符串:

server = "192.168.10.221";
database = "restaurantdb";
uid = "root";
password = "";
string connectionString;
connectionString = "SERVER=" + server + "; PORT = 3306 ;" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
mycon = new MySqlConnection(connectionString);

现在的想法是,我将通过两台计算机都连接到的 Internet 或 Wi-Fi 连接来连接它。然后,我将通过 C# 上编码的 SQL 字符串访问数据库。现在我也可以通过 LAN 网络连接它们,但我不知道如何。

我的代码中出现了这个异常

{"Access denied for user 'root'@'Crave-PC.lan' (using password: NO)"}   System.Exception {MySql.Data.MySqlClient.MySqlException}

知道如何通过网络访问服务器吗?

【问题讨论】:

  • 你确定你的密码没有错?它确实连接,尽管您收到拒绝访问错误,因此您的凭据可能有问题,就像它说的那样。也许只允许root从localhost登录。创建一个可以远程访问的用户。
  • 如何创建可以远程访问的主机?我已经安装了工作台
  • 我这里还有一个用户叫'root',没有密码

标签: c# mysql


【解决方案1】:

问题出在 MySQL 服务器端,root 用户没有远程连接的权限。 要授予 root 用户远程连接的权限,只需在 mysql 命令行上键入:

GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'rootPass';

只需将“rootPass”更改为您当前的 root 密码,如果 root 没有密码 MySQL 不会让您连接,因此您必须为其定义一个。

附注:作为安全最佳实践,您应该定义一个不同于 root 的用户来从客户端应用程序访问您的 mysql 数据库。

希望对你有帮助,

【讨论】:

  • 非常感谢!我欠你太多了!
  • 我正在使用 xampp。如果我使用 phpmyadmin,如何访问该 mysql 命令行?
【解决方案2】:

此线程的一个补充:

在两台计算机连接到同一网络的某些情况下,尽管源计算机进行了配置并从客户端计算机为用户授予了权限,但上面定义的连接字符串可能仍然不起作用。

在这种情况下,请考虑(在进一步移动和对源计算机采取更严重的操作之前,例如修改 Mysql 配置文件等)“使用计算机名称作为服务器名称而不是 IP 地址”。

  • 首先,如上所述,授予用户权限,
  • 但是 而不是上面建议的连接字符串,请尝试以下操作 连接字符串:

所以,连接字符串如下所示:

server = "pc-name-whateveritis";
database = "restaurantdb";
uid = "root";
password = "";
string connectionString;
connectionString = "SERVER=" + server + "; PORT = 3306 ;" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
mycon = new MySqlConnection(connectionString);

源计算机的名称在许多情况下可能有效,源计算机的 IP 地址返回错误。

祝你好运!

【讨论】:

    【解决方案3】:

    从 root 更改为不同的用户名并设置密码非常适合远程访问,因为 root 只有在您位于 localhost 时才具有完全访问权限。在局域网上使用 IP 地址会出错,因此请使用计算机名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-28
      • 1970-01-01
      • 1970-01-01
      • 2013-03-06
      • 1970-01-01
      相关资源
      最近更新 更多