无法连接到远程mySQL数据库

时间:2015-04-10 06:23:59

标签: c# mysql phpmyadmin ubuntu-12.04

我一直在尝试以下代码尝试连接到我在数字海洋上托管的远程数据库。

    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 @“%”识别'rootPass';

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

正如您所知,我对Linux机器知之甚少,而我只是想连接到这个数据库来处理学校项目。谁知道我为解决这个问题做了什么。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

可能的原因包括:

  1. MySQL配置为仅侦听“localhost”或127.0.0.1 - 无论防火墙配置如何,这都不允许远程连接
  2. 可以将防火墙配置为不允许通过端口3306进行通信
  3. MySQL可能没有在标准端口3306上运行,而是在其他端口上运行
  4. 最有可能的是1.或2.特别是1.起初你没有想到的东西。

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