【问题标题】:C# MySQL can't connect to ubuntu serverC# MySQL 无法连接到 ubuntu 服务器
【发布时间】:2020-03-18 22:41:58
【问题描述】:

我目前正在开发一个 c# 登录系统,但是 mysql 部分不起作用。

已经尝试过 sudo ufw allow 3306/tcp, 但仍然是错误。也尝试过 HeidiSql

“无法连接到 '5.230.22.130' (10061) 上的 MySQL 服务器

是的,用户是 %,而不是本地主机!!

错误信息:

“SocketException:无法连接,因为目标计算机拒绝连接服务器 5.230.22.130”

class DB
{

    private MySqlConnection connection =
        new MySqlConnection("Datasource=5.230.22.130;Port=3306;Database=***;uid=sqlAdmin;pwd=***;");
    public void openConnection()
    {
        if (connection.State == System.Data.ConnectionState.Closed)
        {
            connection.Open();
        }
    }

    public void closeConnection()
    {
        if (connection.State == System.Data.ConnectionState.Open)
        {
            connection.Close();
        }
    }

    public MySqlConnection getConnection()
    {
        return connection;
    }
}

【问题讨论】:

  • 当您在测试 C# 程序的同一台机器上运行 MySQL 客户端程序(如 MySQL Workbench 或 HeidiSQL)时会发生什么?您可以从客户端程序连接吗?首先从客户端程序验证连接性,然后调试您自己的程序。
  • 我正在 windows 10 上开发程序,mysql 服务器在我的 ubunto 18 服务器上。
  • 你能连接到客户端应用程序,如 Workbench、phpmyadmin 等吗?这可能与您的服务器不允许远程连接有关。

标签: c# mysql


【解决方案1】:

默认情况下,Ubuntu 有一个活动防火墙,除非您禁用它或已经打开端口,否则连接将被阻止。

你可以尝试在ubuntu机器上通过控制台打开mysql服务器的防火墙(需要root)

sudo ufw allow 3306/tcp

还要确保您要连接的用户帐户允许“%”连接,而不仅仅是“localhost”

【讨论】:

    猜你喜欢
    • 2021-05-13
    • 2015-09-29
    • 2013-08-15
    • 2012-09-10
    • 1970-01-01
    • 2022-10-25
    • 2015-05-10
    • 2012-11-03
    相关资源
    最近更新 更多