帮助使用perl dbi和mysql来查询远程数据库

时间:2011-02-25 03:41:43

标签: mysql perl

我需要帮助搞清楚这个配置以及使用mysql perl DBI。

我的本​​地连接正常,但是一旦我尝试查询远程主机数据库,我就会收到错误。 我知道我对远程数据库的设置是有效的,因为我可以从shell执行以下操作:

WORKS:

$ mysql -u foo-man -pmypa55w0rd --database abc -h abc123.name.locale --port 3306 -ss -e "select UUID()"  

使用perl DBI, localhost 也适用:

my $dbh = DBI->connect("DBI:mysql:database=test;host=localhost:port=3306;user=root");

但是使用perl DBI,查询远程数据库,没有运气。

不工作:

my $dbh = DBI->connect("DBI:mysql:database=abc;host=abc123.name.locale;port=3306;user=foo-man,password=mypa55w0rd"); 

也不使用IP:

my $dbh = DBI->connect("DBI:mysql:database=abc;host=123.567.89.10;port=3306;user=foo-man,password=mypa55w0rd");

1 个答案:

答案 0 :(得分:6)

我会用

my $dbh = DBI->connect("DBI:mysql:database=abc;host=abc123.name.locale;port=3306",
                       'foo-man', 'mypa55w0rd');

但如果您将用户名后的逗号更改为分号,则可能也会有效。