Maison >développement back-end >tutoriel php >Pourquoi ma connexion MySQL échoue-t-elle avec « Aucun fichier ou répertoire de ce type » dans le terminal ?
Connexion via un socket Unix : résolution de l'erreur « Aucun fichier ou répertoire de ce type »
Rencontre de l'erreur « Avertissement : mysql_connect() : [2002 ] Aucun fichier ou répertoire de ce type (tentative de connexion via unix:///tmp/mysql.sock) dans "lors de la tentative de connexion à une base de données MySQL à partir du Le terminal peut être déroutant. Bien que le script puisse fonctionner correctement lorsqu'il est exécuté à partir d'un navigateur, le terminal rencontre des problèmes.
Comprendre le problème
Sur macOS, les configurations MySQL peuvent parfois mal identifier l'emplacement du fichier de socket. Le socket peut exister dans /tmp/mysql.sock ou /var/mysql/mysql.sock, mais les applications peuvent le rechercher à un emplacement incorrect.
Résoudre l'erreur
Heureusement, la solution est simple et implique la mise en place d'un lien symbolique. Si /tmp/mysql.sock est présent mais /var/mysql/mysql.sock est absent, exécutez les commandes suivantes :
cd /var sudo mkdir mysql sudo chmod 755 mysql cd mysql sudo ln -s /tmp/mysql.sock mysql.sock
À l'inverse, si /var/mysql/mysql.sock existe mais /tmp /mysql.sock ne le fait pas, utilisez ces commandes :
cd /tmp ln -s /var/mysql/mysql.sock mysql.sock
En créant un lien symbolique, le Mac peut trouver le socket requis, peu importe de quel endroit il recherche.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!