我需要帮助搞清楚这个配置以及使用mysql perl DBI.
我的本地连接工作正常,但一旦我尝试查询远程主机数据库我就会收到错误.我知道我对远程数据库的设置是有效的,因为我可以从shell执行以下操作:
作品:
$ mysql -u foo-man -pmypa55w0rd --database abc -h abc123.name.locale --port 3306 -ss -e "select UUID()"
Run Code Online (Sandbox Code Playgroud)
从使用perl DBI开始,localhost也可以工作:
my $dbh = DBI->connect("DBI:mysql:database=test;host=localhost:port=3306;user=root");
Run Code Online (Sandbox Code Playgroud)
但是使用perl DBI,查询远程数据库,没有运气.
不工作:
my $dbh = DBI->connect("DBI:mysql:database=abc;host=abc123.name.locale;port=3306;user=foo-man,password=mypa55w0rd");
Run Code Online (Sandbox Code Playgroud)
例如,也不使用IP:
my $dbh = DBI->connect("DBI:mysql:database=abc;host=123.567.89.10;port=3306;user=foo-man,password=mypa55w0rd");
Run Code Online (Sandbox Code Playgroud)
我会用
my $dbh = DBI->connect("DBI:mysql:database=abc;host=abc123.name.locale;port=3306",
'foo-man', 'mypa55w0rd');
Run Code Online (Sandbox Code Playgroud)
但是,如果您将用户名后面的逗号更改为分号,它可能也会起作用.