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 :
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
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";
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 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
dans [client] et dans [mysqld].
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 socket = /opt/lampp/var/mysql/mysql.sock
J'ai aussi modifié le chemin dans php.ini :
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
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"
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 ;-)
Partager