我需要帮助搞清楚这个配置以及使用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");
答案 0 :(得分:6)
我会用
my $dbh = DBI->connect("DBI:mysql:database=abc;host=abc123.name.locale;port=3306",
'foo-man', 'mypa55w0rd');
但如果您将用户名后的逗号更改为分号,则可能也会有效。