【发布时间】: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 主机。
- 防火墙在客户端和服务器上关闭
- 用户拥有数据库的所有授权
- 我尝试过与其他用户一起使用,而不仅仅是 root 用户
- 我已尝试更改默认 MySql 服务器端口
【问题讨论】:
-
端口=3307?一般是3306,你改了吗?为什么不为服务器和数据库键设置值?
-
已安装驱动程序/连接器? mysql.com/products/connector
-
4.我试图更改默认的 MySql 服务器端口。我删除的值是因为服务器在互联网上可用。这个参数没有错误
-
已安装驱动程序和连接器(在客户端)。 C#客户端使用“MySql.Data.MySqlClient”
-
你的 C# 客户端是 Windows 服务吗?
标签: c# mysql remote-server