Mysql
 sql >> Database >  >> RDS >> Mysql

Avviso:mysql_connect():[2002] Nessun file o directory di questo tipo (tentativo di connessione tramite unix:///tmp/mysql.sock) in

Per qualche motivo mysql su OS X ottiene un po' errate le posizioni del file socket richiesto, ma per fortuna la soluzione è semplice come impostare un collegamento simbolico.

Potresti avere un socket (che appare come un file di lunghezza zero) come /tmp/mysql.sock o /var/mysql/mysql.sock , ma una o più app la stanno cercando nell'altra posizione. Scoprilo con questo comando:

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

Invece di spostare il socket, modificare i file di configurazione e ricordare di mantenere i file modificati locali e lontani dai server in cui i percorsi sono corretti, crea semplicemente un collegamento simbolico in modo che il tuo Mac trovi il socket richiesto, anche quando sta cercando nel posto sbagliato !

Se hai /tmp/mysql.sock ma nessun /var/mysql/mysql.sock allora...

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

Se hai /var/mysql/mysql.sock ma nessun /tmp/mysql.sock allora...

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

Avrai bisogno delle autorizzazioni per creare la directory e il collegamento, quindi anteponi semplicemente i comandi sopra con sudo, se necessario.