我正在尝试使用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,但是它给我的错误是:错误。
我认为问题在于DBI从未成功地读取my.ini,因此它使用ODBC@localhost作为默认值。
如果我只是在connect()中指定用户名和密码,那么连接就可以工作了。有人能帮我找出为什么'mysql_read_default_group=client'不起作用吗?我会非常感激的!谢谢
发布于 2016-06-28 08:22:27
我读了一些文件给answar,您的问题是,我发现您需要在不同的部分提供用户名和密码,您还需要提到文件名。喜欢
[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)";希望这能帮到你。
参考资料:id=519356
https://stackoverflow.com/questions/38069370
复制相似问题