Bonjour,

Je suis actuellement en train d'installer une base de donnée MySQL sur linux (mandriva2007.0 x86_64).
Cette base de données est interrogée via perl DBI.

J'arrive à me connecter via le mysql.sock lorsque je force l'adresse du fichier comme çela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
my $mysql_sock = '/opt/lampp/var/mysql/mysql.sock';
 
my $database = "biosql";
 
my $dsn  = "DBI:mysql:database=$database;mysql_socket=$mysql_sock";
 
my $dbh = DBI->connect($dsn, 'root', '') or die "Connection failed\n";
Si je ne met pas explicitement l'adresse du fichier mysql.sok, la connexion ne se fait pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
 test-BDD.cgi: DBI connect('database=biosql;','root',...) failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) at test-BDD.cgi line 38
C'est bizarre étant donné que j'ai, il me semble, correctement configuré le fichier my.cnf avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
socket		= /opt/lampp/var/mysql/mysql.sock
dans [client] et dans [mysqld].

J'ai aussi modifié le chemin dans php.ini :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysql.default_socket = "/opt/lampp/var/mysql/mysql.sock"
Et pourtant si je ne précise pas explicitement le chemin du mysql.sock, il s'obstine à aller me le chercher dans /var/lib/mysql/mysql.sock
où évidemment il ne trouve rien, puisqu'il n'y a rien

Après avoir épluché quelques forums/docs, je vois pas trop d'où vient ce satané et maléfique /var/lib/mysql/mysql.sock...

Quelqu'un aurait une idée là-dessus ?

Merci ;-)