c# - 无法连接到远程 mySQL 数据库

标签 c# mysql phpmyadmin ubuntu-12.04

我一直在尝试使用以下代码来尝试连接到我在 digital ocean 上托管的远程数据库。

    MySqlConnection myConnection = new MySqlConnection("Server = 104.236.197.146; Port = 3306; Database = BattleRoyale; Uid = root; Pwd = password");
    try
    {
        myConnection.Open();
    }
    catch (Exception e)
    {
        MessageBox.Show( e.ToString(), "Database connection error" , MessageBoxButtons.OK, MessageBoxIcon.Error);
    }

每当我尝试运行这段代码时,我都会收到以下错误:

MySql.Data.MySqlClient.MySqlException (0x80004005): 无法连接到任何指定的 MySql 主机。

我认为问题出在托管数据库上。我尝试了以下操作:

授予 上的所有权限。 给 root@"%"IDENTIFIED BY 'rootPass';

我一直在尝试检查是否启用了 TCP/IP,但我无法通过 phpMyAdmin 找到它,也无法通过 putty 或任何其他工具找到它。

如您所知,我对 Linux 机器了解不多,我只是想连接到这个数据库来处理一个学校项目。谁知道我为解决此问题所做的工作。任何帮助将不胜感激。

最佳答案

可能的原因包括:

  1. MySQL 配置为仅监听“本地主机”或 127.0.0.1 - 无论防火墙配置如何,这根本不允许远程连接
  2. 防火墙可以配置为不允许 3306 端口上的通信通过
  3. MySQL 可能不在标准端口 3306 上运行,而是在其他端口上运行

很可能是 1. 或 2。尤其是 1. 是您一开始没有想到的。

请注意,许多托管商不允许从他们自己的网络外部访问数据库。这就是为什么 PhpMySQL 通常可以工作但远程连接不能工作的原因。

关于c# - 无法连接到远程 mySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29554721/

相关文章:

mysql - CSV 导入舍入要在列 DECIMAL(30, 20) 中导入的数据

mysql - 如何通过网络在xampp phpmyadmin上导入sql

mysql - phpmyadmin 错误 : Relational features are disabled

c# - 绑定(bind)不适用于数据模板中的数据模板

c# - 在C#中的字典的第N个位置存储值

c# - Cv2.CountNonZero返回意外结果

mysql - Mysql 上周 5 个工作日

c# - 从任务中的异步 HttpWebRequest 调用捕获异常

php - Laravel Eloquent 按关系排序

php - 更新命令输出