Zainstalowałem serwer MySQL i próbuję się z nim połączyć, ale pojawia się błąd:
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Sprawdziłem mój katalog / tmp i nie ma mysql.sock. Nigdzie nie mogę znaleźć mysql.sock. Czytałem, że może być w
/var/lib/mysql/mysql.sock
Ale też tam sprawdziłem i nie ma nawet katalogu mysql, tylko coś z postfiksem w / lib. Czy ktoś mógłby mi pomóc z tym problemem?
Odpowiedzi:
Spróbuj uruchomić serwer MySQL:
mysql.server start
źródło
mysql.server start
Otrzymałem to samo pytanie po aktualizacji OS X Yosemite, cóż, rozwiązanie jest dość proste, sprawdź preferencje systemowe -> mysql, stan to STOP. Po prostu uruchom go ponownie i teraz działa dobrze na moim Macu.
źródło
Dla MAMP
Z https://coderwall.com/p/w5kwzw/solved-can-t-connect-to-local-mysql-server-through-socket-tmp-mysql-sock
AKTUALIZACJA: Za każdym razem, gdy mój komputer uruchamia się ponownie, muszę wprowadzić to polecenie, więc utworzyłem skrót.
Wykonaj następujące czynności w typie terminala:
Dodaj
Zapisać.
W typie terminala:
~: ...
do źródła konfiguracji .profile.Teraz w terminalu możesz po prostu wpisać
źródło
Następujące polecenie rozwiązało mój problem:
źródło
brew install mysql
ale żadne z poleceń, które homebrew powiedział mi, aby uruchomić, nie działało poprawnie. To sprawiło, że każdy problem zniknął ... Dziękuję !! Czym dokładnie jest ta pierwsza linia, którą napisałeś? Co to znaczy?sudo brew services start mariadb
działa również, aby rozpocząć mariadb podczas rozruchu (nie tylko podczas logowania). YAY! Dziękuję Ci!Po wypróbowaniu wszystkich rozwiązań zadziałało tylko u mnie po określeniu hosta
prosząc o hasło
naciśnij enter
i będzie działać, jeśli wszystko jest w porządku jak wyżej.
źródło
-h 127.0.0.1
, zawsze wyświetla monitCan't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
; po dodaniu argumentu działa dobrze.mysql -u root -h127.0.0.1
bez-p
flagi zadziałało dla mnie, ponieważ kiedy zainstalowałem MySQL, nigdy nie uruchomiłemmysql_secure_installation
polecenia. Rozumiem, że w tym przypadku instalacja domyślnie nie wymaga hasła.Po wielogodzinnych zmaganiach jedyne, co zadziałało, to
Następnie wykonaj bezpieczną instalację za pomocą
Następnie połącz się z bazą danych przez
MySQL jest instalowany przez homebrew, a wersja to
Określenie wersji może być pomocne, ponieważ rozwiązanie może się różnić w zależności od wersji.
źródło
W pliku konfiguracyjnym mysql, który jest obecny w programie,
/etc/my.cnf
wprowadź poniższe zmiany, a następnie zrestartujmysqld
proces DameonSprawdź również ten powiązany wątek
Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo '/tmp/mysql.sock
źródło
/etc/mysql/my.cnf
/tmp/mysql.sock
jako lokalizacji skarpetyNastępujące rozwiązały mój problem:
Sprawdź, gdzie Twój serwer MySQL nasłuchuje: netstat -nlp Jeśli nasłuchuje na TCP, użyj 127.0.0.1 podczas łączenia się z DB zamiast "localhost"
Sprawdź dokument MySQL tutaj
źródło
Spróbuj to zadziałało dla mnie.
sudo /usr/local/mysql/support-files/mysql.server start
źródło
Jeśli używasz XAMPP w Mac OS X i zainstalowałeś MySQL z Homebrew, możesz mieć ten problem. W oknie menedżera XAMPP przejdź do Zarządzaj serwerami i wybierz MySQL, następnie kliknij konfiguruj i otwórz plik konfiguracyjny, tam masz ścieżkę do pliku gniazda, umieść ścieżkę w konfiguracji hosta MySQL i powinno działać.
To jest coś takiego:
wtedy na przykład w Django:
Mam nadzieję że to pomoże.
źródło
Po pierwsze, kluczem była dla mnie wiedza, gdzie jest katalog danych.
/usr/local/var/mysql
Tutaj był co najmniej jeden plik z rozszerzeniem .err poprzedzony nazwą mojego komputera lokalnego. Miał wszystkie informacje potrzebne do zdiagnozowania.Myślę, że spieprzyłem, instalując najpierw mysql 8. Moja aplikacja nie jest z nią kompatybilna, więc musiałem wrócić do wersji 5.7
Moje rozwiązanie, które działało dla mnie, przechodziło do /usr/local/etc/my.cnf
Znajdź tę linię, jeśli tam jest. Myślę, że jest to związane z mysql 8:
Usuń go, ponieważ mysql 5.7 mówi, że nie podoba mu się to w dzienniku błędów
Dodaj tam również tę linię, jeśli jej nie ma pod adresem wiązania.
Przejdź do
/tmp
katalogu i usuń znajdujące się w nim pliki mysql.sock. Po uruchomieniu serwera odtworzy pliki sockUsuń katalog danych z mySQL w stanie zatrzymania. Mój był
/usr/local/var/mysql
. To jest to samo miejsce, w którym znajdują się dziennikiStamtąd uciekłem
Wtedy wszystko zaczęło działać ... ta komenda da Ci na koniec losowe hasło. Zapisz to hasło do następnego kroku
Uruchomię to, aby przypisać własne hasło.
Obie
i
teraz pracują. Mam nadzieję że to pomoże. To około 3 godziny prób i błędów.
źródło
Najpierw wpisz to-:
Wtedy to -:
źródło
Spędziłem dużo czasu robiąc to Chcę umieścić moją aplikację django na moim serwerze i po uruchomieniu
python manage.py migrate
napotkałem te pytaniaI!! Ustawiłem to.
ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
Wreszcie zadziałało!źródło
Wpisz terminal w następujący sposób:
źródło
Zatrzymanie i uruchomienie serwera mysql z terminala rozwiązało mój problem. Poniżej znajdują się polecenia cmds do zatrzymania i uruchomienia serwera mysql w MacOs.
Uwaga: ponowne uruchomienie usług z preferencji systemu Mac nie rozwiązało problemu w moim komputerze Mac. Więc spróbuj ponownie uruchomić z terminala.
źródło
Jeśli korzystasz z systemu macOS, po prostu łatwiej jest najpierw sprawdzić, czy przejdź do „Preferencji systemowych” i sprawdź, czy MySQL działa, czy nie.
źródło
W przypadku CentOS plik do zainicjowania mysql znajduje się tutaj:
źródło