如何使用C#连接远程MySQL服务器?
·
问题:如何使用C#连接远程MySQL服务器?
我有一个 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}
有什么想法可以通过网络访问服务器吗?
解答
问题出在 MySQL 服务器端,root 用户没有远程连接的权限。要授予 root 用户远程连接的权限,只需在 mysql 命令行上键入:
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'rootPass';
只需将“rootPass”更改为您当前的 root 密码,如果 root 没有密码 MySQL 不会让您连接,因此您必须为它定义一个。
附注:作为安全最佳实践,您应该定义一个不同于 root 的用户来从客户端应用程序访问您的 mysql 数据库。
希望能帮助到你,
更多推荐



所有评论(0)