4 messages in com.mysql.lists.perlRe: "make test" fails
FromSent OnAttachments
Gabriele Wieczorek29 Jun 2001 05:06 
Jason Berg29 Jun 2001 08:03 
Char...@nysd.uscourts.gov29 Jun 2001 09:15 
Jochen Wiedmann29 Jun 2001 11:30 
Subject:Re: "make test" fails
From:Jochen Wiedmann (jo@software-ag.de)
Date:06/29/2001 11:30:33 AM
List:com.mysql.lists.perl

Jason Berg wrote:

t/10dsnlist..........DBI->connect(database=Test_DB) failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) at t/10dsnlist.t line 45 Cannot connect: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)

[...]

!!!! The file mysql.sock is located in /var/lib/mysql/mysql.sock and the mysql.cnf has recognized the right directory!!!!

Seems I have to repeat this over and over again ... :-(

The location of mysql.sock is a MySQL compile time option. The one who compiles the MySQL server, specifies a location (for example /var/lib/mysql/mysql.sock) and the one who compiles the MySQL C client library (which is used by DBD::mysql) specifies another location, possibly a different location.

This is typically no problem, if you use Client library and Server from the same source, for example

- you compile both for your own - you use only binaries from mysql.com, and compile your own DBD::mysql from those libraries - you use only those binaries that come with your Linux distribution.(recommended)

There may be a problem, however, if you mix binaries from different sources. For example, if you use a MySQL server from mysql.com and a Client library that comes with your Linux distribution. I don't know which of the endless possibilities apply in your case, but some of them do.

Solution is to replace your binaries as described above or using the option mysql_socket. (See perldoc DBD::mysql.)