Løs: Kan ikke koble til lokale MySQL server via socket /tmp/mysql.sock

løse: Kan ikke koble til lokale MySQL server via socket /tmp/mysql.sock

En hyppig feilmelding mottatt når du bruker mysql kommandolinje verktøyet er: Kan ikke koble til lokale MySQL server via socket '/tmp/mysql.sock' Mens denne feilmeldingen kan være frustrerende, er enkel løsningen

<. br>

Når du kobler til en MySQL-server på det lokale systemet, mysql-klienten kobler gjennom en lokal fil kalt en stikkontakt i stedet for å koble til localhost loopback adresse 127.0.0.1. For mysql-klienten, standard plassering av denne kontakten filen er /tmp/mysql.sock. Men for en rekke årsaker, mange MySQL installasjoner plassere denne kontakten filen et annet sted som /var/lib/mysql/mysql.sock.

Selv om det er mulig å gjøre dette arbeidet ved å angi kontakten filen direkte i mysql klientkommando

mysql --socket = /var /lib /mysql /mysql.sock ...

Det er vondt å skrive dette i hver gang. Hvis du må gjøre det på denne måten (fordi du ikke har tilgang til filen i løsningen nedenfor), kan du lage et alias i skallet ditt for å gjøre dette arbeidet (som alias mysql = "mysql -socket = /var /lib /mysql/mysql.sock "avhengig av skallet).

For å gjøre livet ditt enklere, kan du gjøre en enkel endring i MySQL konfigurasjonsfil /etc/my.cnf som vil permanent satt kontakten filen brukes av mysql-klienten. Etter å ha gjort en sikkerhetskopi av /etc/my.cnf, åpne den i din favoritt editor. Filen er delt inn i seksjoner som

[mysqld]datadir=/usr/local/mysql/datasocket=/var/lib/mysql/mysql.sock[mysql.server]user=mysqlbasedir=/usr/local/mysql

If Det er foreløpig ikke en seksjon kalt [klient], legger man på bunnen av filen og kopiere socket = linjen under [mysqld] seksjon for eksempel:

  [klienten] socket = /var /lib/mysql/mysql.sock 

Hvis det allerede finnes en [klient] seksjon i my.cnf filen, legge til eller redigere kontakten linje som passer. Du trenger ikke å starte din server eller andre prosesser. Påfølgende bruk av mysql-klienten vil bruke riktig socket-filen. Anmeldelser