【问题标题】:Unable to connect to remote MySql server from all clients except php无法从除 php 之外的所有客户端连接到远程 MySql 服务器
【发布时间】:2015-02-10 13:40:21
【问题描述】:

我有安装了 MySql 服务器的远程服务器(windows server 2008),服务器有专用 ip。我可以使用简单的 mysqli 连接从远程 php 客户端连接到此服务器。但我无法使用所有其他客户端(MySqlWorkBench、C# 等)从我的家用 PC 连接。

要从 C# 连接,我使用:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;

    namespace ConsoleApplication4
    {
        class Program
        {
            static void Main(string[] args)
             {
    
                string server = "servdomain.su";
                string  database = "dbname";
                string  uid = "root";
                string  password = "root";
                string connectionString;
    
                connectionString = "SERVER=" + server + "; PORT = 3307 ;" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
                MySqlConnection connection = new MySqlConnection(connectionString);
                connection.Open();
    
            }
        }
    }

php代码:

$host="servdomain.su:3307";
$port=;
$socket="";
$user="root";
$password="root";
$dbname="";

$q = "SHOW DATABASES";
$mysqli = new mysqli($host, 'root', 'root', 'dbname');

if ($result = $mysqli->query("SELECT * FROM incli_measurements")) {
    while ($row = $result->fetch_row()) {
        print_r($row);
    }
}
 print_r($mysqli);
if ($mysqli->connect_error) {
    die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
}
 print_r($mysqli);
 echo "4564654";
 exit; 

每次我有: 无法连接到任何指定的 MySQL 主机。

  1. 防火墙在客户端和服务器上关闭
  2. 用户拥有数据库的所有授权
  3. 我尝试过与其他用户一起使用,而不仅仅是 root 用户
  4. 我已尝试更改默认 MySql 服务器端口

【问题讨论】:

  • 端口=3307?一般是3306,你改了吗?为什么不为服务器和数据库键设置值?
  • 已安装驱动程序/连接器? mysql.com/products/connector
  • 4.我试图更改默认的 MySql 服务器端口。我删除的值是因为服务器在互联网上可用。这个参数没有错误
  • 已安装驱动程序和连接器(在客户端)。 C#客户端使用“MySql.Data.MySqlClient”
  • 你的 C# 客户端是 Windows 服务吗?

标签: c# mysql remote-server


【解决方案1】:

看起来连接字符串应该使用 PWD 而不是 PASSWORD。 您是否尝试过以下方法?

connectionString = "SERVER=" + server + "; PORT = 3307 ;" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PWD=" + password + ";";

【讨论】:

  • 那么我如何从远程 php 客户端连接?
  • 是的,描述中的php代码,simpe mysqli连接
  • 不,我不知道该怎么做,但我已经从 MySql 工作台尝试过 - 没有连接。
  • 我在您写最后一条评论时更新了我的答案。你能检查一下连接字符串吗?
  • 密码或密码 - 无连接=(
猜你喜欢
  • 1970-01-01
  • 2015-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多