In your first post:
DBI connect('SPIT:localhost:3306','spit',...) failed
In your last post:
$dsn="DBI:mysql:SPT:localhost:3306;mysql_read_default_file=/etc/my.cnf";
The second one lacks an "I", or the first one has an "I" too much.
The DSN looks at least strange. I don't use MySQL, but I think that ":localhost:3306" should not be there.
Let be assume you want to connect to a MySQL database named "SPT". According to the documentation, the basic DSN should be "DBI:mysql:SPT" or "DBI:mysql:database=SPT". Now, you can specify how to connect to the database. For TCP/IP, you would add a host and optional a port parameter: "DBI:mysql:database=SPT;host=127.0.0.1;port=3306". Note that the hostname "localhost" is special for MySQL and is not equivalent to 127.0.0.1. Instead, it switches from TCP/IP sockets to unix domain sockets, making the port number meaningless. So, to connect using a unix socket, you would use "DBI:mysql:database=SPT;host=localhost". That would use the default location for the socket file. To override the location, you need to add either a mysql_socket parameter with the location, or specify the configuration file using the mysql_read_default_file parameter. So your DSN will be either "DBI:mysql:database=SPT;host=localhost;mysql_socket=/data/mysql/mysql.sock" or "DBI:mysql:database=SPT;host=localhost;mysql_read_default_file=/etc/my.cnf".
By the way: Did you try creating a symlink /var/lib/mysql pointing to /data/mysql, as proposed by jmacloue?
Alexander
In reply to Re^3: DBI module not using new mysql.sock
by afoken
in thread DBI module not using new mysql.sock
by rbholder
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |