如何使mysql_read_default_group在perl DBI工作



我正在尝试使用my.ini文件作为配置连接mysql。

下面是我的Perl代码:
use DBI;
my $dsn = "DBI:mysql:umls;mysql_read_default_group=client;";
my $dbh = DBI->connect($dsn);
这里是my.ini文件:
...
[client]
host=localhost
user=root
password=mypassword
database=umls
port=3306
....
根据官方文件(http://search.cpan.org/~capttofu/DBD-mysql-4.033/lib/DBD/mysql.pm),DBI将使用my.ini中的信息来连接mysql,然而,它给我错误:errors

我认为问题是DBI从未成功读取my.ini,所以它使用ODBC@localhost作为默认值。

如果我在connect()中指定用户名和密码,连接将工作。谁能帮我弄清楚为什么'mysql_read_default_group=client'不能工作?我会非常非常感激!由于

我读了一些文档来回答你的问题,我发现你需要在不同的部分提供用户名和密码,你也需要提到文件名。像

[myapp]
host=localhost
user=root
password=mypassword
database=umls
port=3306
然后

my $dbh = DBI->connect("DBI:mysql:test"
    . ";mysql_read_default_file=$ENV{HOME}/.my.cnf"
    .';mysql_read_default_group=myapp',
    undef, 
    undef
   ) or die "something went wrong ($DBI::errstr)";

希望这对你有帮助。

参考:http://www.perlmonks.org/?node_id=519356

相关内容

  • 没有找到相关文章

最新更新