【发布时间】:2016-11-29 20:15:45
【问题描述】:
我有这个相对简单的 Perl 代码:
use DBI;
use strict;
my $database = "mydb";
my $hostname = "123.45.6.7";
my $port = "3306";
my $user = "user";
my $password = "mypasss";
my $dsn = "DBI:mysql:database=$database;host=$hostname;port=$port";
my $dbh = DBI->connect( $dsn, $user, $password )
or die "Can't connect to database: ", $DBI::errstr, "\n";
所有参数似乎都可以,但是当我尝试在我的 CentOS 上执行它时,我得到了这个错误:
DBI connect('database=mydb;host=123.45.6.7;port=3306','user',...) 失败:连接时无法连接到 '123.45.6.7' (110) 上的 MySQL 服务器.pl 第 17 行。
我做错了什么?
【问题讨论】:
-
您可以使用相同的凭据从命令行连接吗?
-
@prgrm — 所以问题是您的数据库服务器在您尝试连接的 IP 地址 + 端口上不可用。这不是 Perl 问题。
-
"但我可以从 windows 中的 mysql 工作台访问它" — 那有什么不同?它与 MySQL 服务器在同一台机器上吗?您是否使用其他地址进行连接?
-
你是对的。这是网络问题。
-
您可以为未来的读者编写自己的答案并接受它。