Mysql
 sql >> Base de données >  >> RDS >> Mysql

Attention :mysql_connect() :[2002] Aucun fichier ou répertoire de ce type (tentative de connexion via unix:///tmp/mysql.sock) dans

Pour une raison quelconque, mysql sur OS X se trompe un peu sur les emplacements du fichier de socket requis, mais heureusement, la solution est aussi simple que de configurer un lien symbolique.

Vous pouvez avoir un socket (apparaissant comme un fichier de longueur nulle) sous la forme /tmp/mysql.sock ou /var/mysql/mysql.sock , mais une ou plusieurs applications le recherchent à l'autre emplacement. Découvrez-le avec cette commande :

ls -l /tmp/mysql.sock /var/mysql/mysql.sock

Plutôt que de déplacer le socket, de modifier les fichiers de configuration et de ne pas oublier de conserver les fichiers modifiés localement et à l'écart des serveurs où les chemins sont corrects, créez simplement un lien symbolique pour que votre Mac trouve le socket requis, même s'il cherche au mauvais endroit. !

Si vous avez /tmp/mysql.sock mais pas de /var/mysql/mysql.sock alors...

cd /var 
sudo mkdir mysql
sudo chmod 755 mysql
cd mysql
sudo ln -s /tmp/mysql.sock mysql.sock

Si vous avez /var/mysql/mysql.sock mais pas de /tmp/mysql.sock alors...

cd /tmp
ln -s /var/mysql/mysql.sock mysql.sock

Vous aurez besoin d'autorisations pour créer le répertoire et le lien, il suffit donc de préfixer les commandes ci-dessus avec sudo si nécessaire.