我想用DBI作为用户mysql连接到mysql数据库,但没有密码。这可能吗?
示例:
#create database, grant access to mysql
mysql -e 'create database perltest; grant all on perltest.* to mysql@localhost'
我的perl代码:
#!/usr/bin/perl -w
use DBI;
$dbh = DBI->connect('dbi:mysql:perltest','mysql', NULL)
or die "Connection Error: $DBI::errstr\n";
因此DBI->connect
的第三个参数是密码。在我看到的所有示例中,都使用了密码。我尝试了各种各样的事情作为第三个参数:NULL
,null
,''
,' '
等等,但每次都被解释为密码。有什么想法吗?
答案 0 :(得分:3)
只需使用undef
:
$dbh = DBI->connect("DBI:mysql:perltest","mysql",undef,{ RaiseError => 1 });
UPD。顺便说一句,this fiddle可能是有用的解释perl如何操作所有这些null / 0 / undefined的东西。获得here
的原始代码