Ok, przeszukałem wszystko i spędziłem sporo czasu na instalowaniu, odinstalowywaniu, wypróbowywaniu różnych opcji, ale bez powodzenia.
Używam Mac OS X Lion (10.7.3) i próbuję skonfigurować Python, MySQL.
Pomyślnie zainstalowałem Python i MySQL przez HomeBrew. Python działa świetnie.
Po instalacji MySQL wykonałem pierwsze 2 kroki - unset i mysql_install_db
polecenia.
Teraz, kiedy próbuję uruchomić mysql "mysql.server start", pojawia się następujący błąd
ERROR! The server quit without updating PID file (/usr/local/var/mysql/Brajeshwar.local.pid).
Brajeshwar
to moja nazwa użytkownika na moim komputerze.
sudo chown -R _mysql:_mysql /usr/local/var/mysql
brew info mysql
lub to pytanie dotyczące właściwego rozwiązaniaOkazało się, że był to problem z uprawnieniami do
mysql
folderu.rozwiązał to dla mnie.
źródło
Skończyło się na całkowitej ponownej instalacji mysql i w końcu się udało.
OSTRZEŻENIE Spowoduje to usunięcie wszystkich baz danych, więc pamiętaj, aby najpierw zapisać zrzuty.
brew remove mysql brew cleanup launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist sudo rm -rf /usr/local/var/mysql brew install mysql mysqld --initialize --explicit_defaults_for_timestamp mysql.server start # no sudo!
źródło
mysqld --initialize --explicit_defaults_for_timestamp
Miałem ten problem na Macu 10.10.5 Yosemite
Co zrobiłem, aby to rozwiązać
cd /usr/local/var/mysql
sudo rm *.err && sudo rm *.pid
sudo reboot
sudo mysql.server start
źródło
Listopad 2014: Jeśli otrzymujesz ten błąd w MySQL 5.6.x na Mac OS X Mavericks lub Yosemite i chcesz używać MySQL lokalnie z PHP (/tmp/mysql.sock to miejsce, w którym PHP PDO spodziewa się znaleźć plik sock), oto, co naprawiło to dla mnie:
1) Odkomentuj domyślne linie pliku konfiguracyjnego homebrew i edytuj jak poniżej
BOXNAME jest tym, co masz w ustawieniach Systemowych -> Sieć, jako unikalny identyfikator komputera w sieci.
2) Ustaw uprawnienia do wszystkich plików w mysql datadir. Wszystkie były własnością [moja_nazwa_użytkownika]. MySQL jest bardzo wybredny w tej kwestii i odmawia utworzenia pliku pid, chyba że to on (użytkownik _mysql) jest właścicielem katalogu.
3) Uruchom MySQL za pomocą skryptu pomocniczego / opakowującego bash:
$ sudo mysql.server start Starting MySQL . SUCCESS!
Mam nadzieję, że to pomoże. Jeśli powyższe nie działa, spróbuj ręcznie uruchomić plik binarny mysqld_safe w katalogu Cellar / mysql / VERSION_ / bin / i sprawdź, jakie są ustawienia (jeśli działa)
Jeśli to działa, możesz
i zobacz coś takiego
[username] 6881 0.0 2.7 3081392 454836 ?? S 8:52AM 0:00.54 /usr/local/Cellar/mysql/5.6.21/bin/mysqld --basedir=/usr/local/Cellar/mysql/5.6.21 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql/5.6.21/lib/plugin --verbose --log-error=/usr/local/var/mysql/BOXNAME.local.err --pid-file=/usr/local/var/mysql/BOXNAME.local.pid
Nie jestem pewien, dlaczego to zadziałało, ale pokazuje, skąd mam opcje pliku konfiguracyjnego my.cnf. Możesz także użyć opcji wiersza poleceń, aby spróbować rozwiązać problem podczas ręcznego uruchamiania mysqld.
Jeśli uruchomisz polecenie zarządzaj uruchomieniem serwera MySQL przy użyciu mysqld_safe, być może będziesz musiał to zrobić, aby go wyłączyć przed wypróbowaniem pomocnika bash mysql.server. Oprzyj się pokusie zabicia -9 [PID], ponieważ możesz uszkodzić swoje dane.
Powodzenia!
źródło
Miałem ten sam problem na OS X El Capitan, oto sekwencja poleceń terminala, która go naprawiła.
Usuń pliki błędów (będziesz musiał zmienić ścieżkę w zależności od konfiguracji)
sudo rm /usr/local/mysql/data/*.err
Znajdź informacje o procesie mysql, który nadal działa i zakończ go:
ps -A | grep -m1 mysql | awk '{print $1}' | sudo xargs kill -9
Teraz zrestartuj MySQL:
/usr/local/mysql/support-files/mysql.server start
źródło
To zadziałało dla mnie:
sudo chmod -R 777 /usr/local/var/mysql/ sudo /usr/local/mysql/support-files/mysql.server start
źródło
To zadziałało dla mnie 10.12.2:
$ rm /usr/local/var/mysql/*.err
następnie
źródło
Jeśli dobrze pamiętam, jest to kwestia uprawnień. Spróbuj „dotknąć” i „chmod” pliku pid lub folderu, w którym plik jest przechowywany.
źródło
Mój problem polegał na tym, że raz uruchomiłem serwer jako sudo, a następnie próbowałem uruchomić ponownie jako użytkownik lokalny.
Tutaj mysql nie mógł zapisać do pliku „.err”, którego właścicielem jest root. Musiałem usunąć ten plik i zrestartować serwer:
sudo rm /usr/local/var/mysql/*.err mysql.server start
źródło
Mam podobny problem z MySQL na Macu (Mac Os X Nie można uruchomić serwera MySQL. Powód: 255, a także „BŁĄD! Serwer zakończył pracę bez aktualizacji pliku PID”). Po długim procesie prób i błędów, w końcu w celu przywrócenia uprawnień do pliku, po prostu to zrobiłem:
uruchom aplikację Disk Utilities.app
wybierz mój dysk na lewym panelu
kliknij przycisk „Napraw uprawnienia dysku”
To załatwiło sprawę dla mnie. Mając nadzieję, że to pomoże komuś innemu.
źródło
U mnie zadziałało z:
unset TMPDIR mysql_install_db --user=`whoami` --basedir="$(brew --prefix mariadb)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
źródło
U mnie zadziałało:
sudo chmod -R 777 data
cd support-files/
sudo ./mysql.server start
Następnie serwer zaczął działać.
Ale problem z tą metodą polega na tym, że muszę to powtarzać za każdym razem, gdy chcę teraz uruchomić mysql. Nie wiem, dlaczego nagle zaczęło się tak zachowywać.
źródło
Znajdź plik usr / local / var / mysql / your_computer_name.local.err i zapoznaj się z dodatkowymi informacjami o błędzie
Lokalizacja: /usr/local/var/mysql/your_computer_name.local.err
Prawdopodobnie jest to problem z uprawnieniami
gdzie PID to wartość drugiej kolumny 2. Sprawdź własność mysql
if it is owned by root, change it mysql or your user name
źródło
Spróbuj tego (OSX)
Krok 1:
ps -aux | grep mysql
Następnie zabij 4-cyfrowy numer PID
Krok 2:
kill 1965
Krok 3:
mysql.server start
Lub mając trudności ze zlokalizowaniem tych numerów PID, spróbuj tego poniżej
Krok 1 ponownie:
ps -aux | grep mysql
Krok 2 ponownie:
killall
Krok 3 ponownie:
mysql.server start
źródło
Sprawdź dziennik, uzyskasz bardziej szczegółowe informacje.
Użyj poniższego polecenia, aby dostosować dziennik błędów
U mnie brakuje jednego z katalogów, po utworzeniu serwer wystartował.
źródło
Kluczową kwestią jest sprawdzenie pliku .err, który domyślnie w systemie Mac OSX się w nim znajduje
/usr/local/var/mysql
.Ten plik dziennika ujawnił mi, że muszę usunąć następujące pliki:
Uruchamianie MySQL z
mysql.start
działało później pomyślnie. Pamiętaj, że usunięcie tych plików prawdopodobnie spowoduje utratę danych.źródło
pracuje dla mnie.
źródło
Miałem ten sam problem:
Ale sytuacja była taka, że za każdym razem, gdy próbuję wejść:
/usr/local/mysql/support-files/mysql.server start
localhost.pid
tworzony jest plik o nazwie, zamiastiMax0.local.pid
którego podano w błędzie:Rozwiązaniem, które działało dla mnie, było skopiowanie
localhost.pid
i zmiana nazwy naiMax0.local.pid
.źródło
Moje rozwiązanie na OSX El Capitan to:
Został nagle uszkodzony.
Błąd:
a dziennik pokazywał:
Can't start server : Bind on unix socket: Permission denied
Warto również zauważyć, że w systemie OSX
my.cnf
domyślnie nie ma pliku i nie jest on potrzebny, czego nie znałem. Powodzenia!źródło
Mi to pasuje.
źródło
Miałem podobny problem. Ale poniższe polecenia uratowały mnie.
źródło
To jest problem z uprawnieniami do pliku. Sprawdź uprawnienia do dysku i napraw.
Osx => Cmd + Space => Disk Utilty => Verify Disk Permissions.
Weryfikacja zakończona po naprawie uprawnień do dysku. Polecenie start mysql.server zadziałało pomyślnie.
źródło
Żadna z odpowiedzi nie pomogła. Jednak po prostu się udało
sudo mysql.server start
i fajnie się udało.Również dla mnie NIE pokazał problemu z uprawnieniami w pliku * .err.
źródło
Miałem ten problem na Linuksie, ale przyczyna jest istotna dla każdej instalacji mysql. W moim przypadku serwer ulegał awarii przed zakończeniem uruchamiania i zaktualizowaniem pliku pid. Komunikaty o błędach pojawiły się podczas uruchamiania mysqld bezpośrednio, zamiast przez „service mysql start”.
W moim przypadku przyczyną była pełna partycja, na której znajdowały się pliki dziennika. Usunięcie plików dziennika pozwoliło mysql na ponowne uruchomienie. Aby przetestować ten problem, przejdź do lokalizacji dzienników aktywności mysql i zrób
df .
.źródło
Jeśli zaktualizowałeś swoją instalację mysql do 8.x, sprawdź, czy Twoja poprzednia wersja jest obsługiwana do aktualizacji .
Jeśli nie, mysql nie będzie działać! Odinstaluj mysql wraz ze wszystkimi plikami konfiguracyjnymi w
/usr/local/var/mysql
(usuń cały folder). Zainstaluj ponownie mysql.UWAGA: ponowna instalacja może spowodować utratę danych.
źródło
wszystkie powyższe rozwiązania nie działają dla mnie. ale dają mi wskazówki, jak naprawić ten błąd.
Zainstalowałem [email protected] na moim macbooku mojave z homebrew
Dziennik błędów mysql znajdujący się w /usr/local/var/mysql/IU.lan.err, jest w nim jedna linia: Nie można otworzyć i zablokować tabel uprawnień: Tabela 'mysql.user' nie istnieje
po wypróbowaniu wielu postów w wyszukiwarce goole, zwróciłem się do baidu https://blog.csdn.net/xhool/article/details/52398042 zainspirowany tym postem, znalazłem rozwiązanie:
w bash zostanie wyświetlone losowe hasło użytkownika root. ale polecenie mysql -uroot -p [theRandomPassword] nie działa. Więc muszę zresetować hasło. utwórz plik init z taką zawartością
umieść go w dowolnym łatwym do znalezienia katalogu, takim jak Desktop
wiele dzienników drukowanych na ekranie.
ciesz się swoim mysql w wysokiej wersji!
źródło
Zdarzyło mi się to, ponieważ faktycznie przechodziłem z MariaDB do MySQL. Powrót do MariaDB rozwiązał ten problem.
Domyślam się, że istniejąca baza danych nie była kompatybilna.
źródło
brew uninstall [email protected]
a następnie usunąłem stary folder mysql utworzony przez MariaDBsudo rm -rf /usr/local/var/mysql
(to oczywiście usunie twoje bazy danych). Wtedybrew install [email protected]
imysql.server start
i to działa.Rozwiązano to za pomocą
sudo chown -R _mysql:_mysql /usr/local/var/mysql
Podziękowania dla Matteo Alessaniźródło
Ten błąd może być faktycznie wyświetlany, ponieważ mysql jest już uruchomiony. Spróbuj zobaczyć aktualny stan poprzez:
źródło
ps
w rzeczywistości pokazywałem procesy mysql. Zabiłem wszystko, uruchomiłem ponowniemysql.server restart
i zadziałało!