DBD::Mysql が使用する標準のsocketはどこから得ているか?
以下のようなスクリプトで、以下のようなエラーになっています。
port(socket)を指定しているにもかかわらず使用されない理由も分からないのですが、エラーメッセージのsocketはどこで設定されているのでしょうか?
/etc/my.cnf で /tmp/mysql.sock を指定し、サーバーとクライアントは問題なく通信できています。
よろしくお願いします。
■perlスクリプト
----------------------------------------
#!/usr/local/bin/perl
use DBI;
$user = 'usr';
$passwd = 'password';
$ds = 'DBI:mysql:db_name;host=localhost;port=/tmp/mysql.sock';
$db = DBI->connect($ds, $user, $passwd);
(以下略)
■perlスクリプトのエラー
----------------------------------------
$ ./script_name.pl
DBI connect('db_name;host=localhost;port=/tmp/mysql.sock','root',...) failed: Can't connect to local MySQL server through
socket '/var/lib/mysql/mysql.sock' (2) at ./script_name.pl line 9
■環境
----------------------------------------
mysql:バイナリの(rpmでないやつ)4.0.24-standard
OS:Linux 2.4.20-31.9(REDHAT)
DBD:DBD-mysql-2.9004
補足
ありがとうございます service mysqld start をすれば動きました