in reply to Re^2: DBI module not using new mysql.sock
in thread DBI module not using new mysql.sock
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
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: DBI module not using new mysql.sock
by rbholder (Initiate) on Feb 17, 2015 at 23:08 UTC | |
by afoken (Chancellor) on Feb 18, 2015 at 16:37 UTC | |
|
Re^4: DBI module not using new mysql.sock
by rbholder (Initiate) on Feb 18, 2015 at 15:47 UTC |