【问题标题】:Problems with MySql remote accessMySql 远程访问的问题
【发布时间】:2011-05-14 01:11:28
【问题描述】:

置顶更新:为置顶致歉;出于歇斯底里的原因,旧问题仍在下面,但情况已经改变。现在这更像是一个 Delphi 问题而不是 MySql 问题。

我发现从命令行我可以使用

访问远程 MySql 数据库
mysql.exe -h 192.168.89.128 -u my_user -p

看来我已经正确设置了远程服务器。

但是,当我用

从 Delphi 尝试它时
  AdoConnection.LoginPrompt:=False;//dont ask for the login parameters
  AdoConnection.ConnectionString := 
   Format(MYSQL_CONNECT_STRING,[ConfigurationForm.GetServerIpAddress() + ':3306',
                                DataBase,
                                ConfigurationForm.GetUserName(),
                                ConfigurationForm.GetPassword()]);
  AdoConnection.Connected := True; //open the connection

它给出了一个

的 ConnectionString
Driver={MySQL ODBC 5.1 Driver};  
Server=192.168.89.128:3306;  
Database=mysql;User=my_user;
Password=my_password;Option=3;

我得到一个异常

"Unknown MySql server host '192.168.89.128:3306' (11004)"

我可以有 halpz 吗?


更新和回答:以防万一有人用谷歌搜索并找到这个。

问题出在我的连接字符串上。

当我应该单独指定它们时,我将端口附加到主机 Server=192.168.89.128:3306;,即 Server=192.168.89.128;Port=3306;,所以我的完整连接字符串是

Driver={MySQL ODBC 5.1 Driver};
Server=192.168.89.128;
Port=3306;
Database=mysql;
User=eLogger; 
Password=bct_eLogger;
Option=3;

向那些找错树来试图帮助我的人道歉。我希望这反过来会帮助一些糟糕的 Delphi 编码器。另见http://delphi.about.com/od/mysql/qt/mysqladoconn.htm

【问题讨论】:

  • 3306 端口是否被软件或硬件防火墙阻止?
  • 一个很好的问题。但不幸的是,我太笨了,不知道如何检查。

标签: mysql delphi xampp mysql-management


【解决方案1】:

也许您的问题是您在server 属性中包含端口,请尝试在没有3306 端口的情况下重写您的连接字符串,因为这是mysql 的默认端口,或者将该端口包含在port 属性中。

类似的东西

无端口

Driver={MySQL ODBC 5.1 Driver};Server=192.168.89.128;Database=mysql;User=my_user; Password=my_user;Option=3;

指定 TCP/IP 端口

Driver={MySQL ODBC 5.1 Driver};Server=192.168.89.128;Port=3306;Database=mysql;User=my_user; Password=my_user;Option=3;

【讨论】:

  • 谢谢。我刚刚发现 & 正在更新您发布的问题。与往常一样,您的答案触手可及!感谢您的帮助。
【解决方案2】:

检查端口是否打开

执行以下命令并查找“:3306”侦听器(您没有提到 UDP/TCP)。这将确认端口上有运行。

netstat -a -n

这里是关于检查端口的完整答案 https://serverfault.com/questions/26564/how-to-check-if-a-port-is-blocked-on-windows

【讨论】:

  • +1 谢谢。我已经更新了这个问题。我发现我可以从命令行访问远程 d/b,但不能形成我的 Delphi 程序,所以我想我可能有一个错误的连接字符串。请你看一下好吗?
猜你喜欢
  • 2015-11-18
  • 2013-08-09
  • 1970-01-01
  • 2018-11-07
  • 2012-02-13
  • 1970-01-01
  • 2013-11-12
  • 2014-09-18
  • 1970-01-01
相关资源
最近更新 更多