DBD::mysqlのDBI->connect()で少し嵌る

環境
ubuntu
lampp
perl
DBI
DBD::mysql


perlDBI->connect()しようとしたら

failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) at insert.pl line 11

というようなエラーが発生して軽くつまった。


多くの人が
DBIでCan't connect to local MySQL server through socket '/tmp/mysql.sock'」
http://diary.lampetty.net/20060926.html
にて解決してるが、自分はダメだった。
my.cnfを書き直しても、
perlの出力するエラーは依然として

failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) at insert.pl line 11

のままで、「mysqld.sock」のパスが変わってない。


http://forums.mysql.com/read.php?51,52107,52111#msg-52111
にて解決した。

sockの指定の仕方が「port=」ではなく「mysql_socket」に変わっているらしい。バージョンのせいかもしれない。

結局

$db = DBI->connect('DBI:mysql:ex1:localhost;mysql_socket=/opt/lampp/var/mysql/mysql.sock', $user, $passwd,{RaiseError=>0,PrintError=>1,AutoCommit=>1});

でうまくいった。