73 votes

Comment forcer MySQL à se connecter par TCP au lieu d'un socket Unix ?

Je voudrais analyser mysql trafic. Actuellement, toutes les requêtes mysql sont envoyées vers le socket unix MySQL :

unix  2      [ ACC ]     STREAM     LISTENING     3734388  15304/mysqld        /var/run/mysqld/mysqld.sock

J'essaie de désactiver ce socket pour forcer MySQL à utiliser le socket réseau au lieu du loopback. J'ai essayé de commenter tous les éléments socket dans les directives de l my.cnf y debian.cnf et redémarré MySQL mais cela n'a fait aucune différence.

Comment puis-je désactiver le socket unix de MySQL pour forcer MySQL à passer par le réseau ?

informations supplémentaires : Je suis en train d'exécuter MySQL 5.1 sur ubuntu 10.04 .

Précisions sur la question
Puisque beaucoup de personnes ont suggéré d'activer la prise réseau, je voudrais clarifier ma question en précisant que l'adresse de liaison était déjà activée avec la commande bind-address = 127.0.0.1 et qu'une connexion d'écoute est disponible :

tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      15601/mysqld 

Je ne vois toujours pas de tentative de connexion 127.0.0.1:3306 provenant de ma webapp (site web Drupal).

Mis à jour avec la réponse

Il semble en effet que le problème vienne de l' mysqli que Drupal utilise (dans .ht_config.php pour ceux qui sont intéressés). C'était réglé : mysqli://drupal:***@localhost/drupal en changeant localhost a 127.0.0.1 a corrigé le problème (c'est-à-dire que Drupal établit maintenant des connexions avec le socket réseau).

1voto

Dan King Points 1931

Le client php mysqli utilisera le fichier socket unix au lieu du réseau tcp lorsque vous passez la valeur NULL ou la chaîne "localhost"( http://www.php.net/manual/en/mysqli.construct.php )

il semble que le client sqlyog utilise toujours le réseau tcp même si vous remplissez le champ "localhost".

-1voto

Joe Zacky Points 211

J'ai dû supprimer /etc/my.cnf (après l'avoir sauvegardé), puis redémarrer le serveur. J'ai ensuite pu me connecter avec un socket et l'erreur a disparu.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X