Lorsque vous utilisez la valeur par défaut 'host' dans phpMyAdmin, il essaie de se connecter via une connexion socket ($cfg['Servers'][$i]['host'] = 'localhost';
est la valeur par défaut, sauf si vous l'avez explicitement définie dans config.inc.php
). Sous Mac OS, pour une raison quelconque, PHP et MySQL ne sont pas d'accord sur l'emplacement par défaut du fichier socket.
Il existe plusieurs solutions simples, mais pour deux d'entre elles, vous devez d'abord déterminer le chemin réel vers le socket. Le moyen le plus simple est d'accéder à l'invite de commande MySQL. Ouvrez 'Terminal' dans le dossier Applications -> Utilitaires, puis tapez mysql -u root -p
et lorsque vous y êtes invité, entrez votre mot de passe root MySQL (la valeur par défaut est généralement vide). À l'invite MySQL, tapez status;
et vous verrez une liste de plusieurs paramètres liés à la connexion. Cherchez-en un comme
Socket UNIX :/var/run/mysqld/mysqld.sock
C'est le chemin vers le socket. Le vôtre sera presque certainement différent de celui-ci.
Maintenant, à propos de ces façons de résoudre ce problème :
- Modifier le socket par défaut en PHP. Ouvrez le fichier de configuration PHP (probablement php.ini) dans votre éditeur de texte préféré et ajoutez le chemin correct à la ligne
mysqli.default_socket =
. Ce changement affectera tout script PHP utilisant le chemin de socket système par défaut. - Changez le socket uniquement pour phpMyAdmin. Ouvrez le fichier de configuration phpMyAdmin (config.inc.php) dans votre éditeur de texte préféré. Modifiez ou ajoutez la ligne
$cfg['Servers'][$i]['socket'] = '';
avec le bon chemin. - Faites passer le type de connexion au réseau TCP. Encore une fois, modifiez le fichier de configuration de phpMyAdmin (config.inc.php) et modifiez ou ajoutez la ligne
$cfg['Servers'][$i]['host'] = '127.0.0.1';
. Cela indiquera à phpMyAdmin d'utiliser la méthode de connexion réseau TCP au lieu des sockets. Notez que vos instances MySQL peuvent ne pas écouter les connexions TCP entrantes par défaut et que votre utilisateur MySQL example@ sqldat.com n'est pas identique à [email protected] ou [email protected] %.
Vous ne devriez avoir besoin que d'une de ces solutions, pas des trois.