Baza danych MySQL nie uruchomi się w XAMPP Manager-osx


96

Pobrałem XAMPP około miesiąc temu i działało dobrze. Dzisiaj zainstalowałem oprogramowanie do rozpoznawania głosu, a następnie ponownie uruchomiłem komputer. Od tego czasu MySQL nie uruchamia się w mojej aplikacji manager-OSX. To nie wyrzuca mnie w dzienniku aplikacji. Oto, co mówi:

Stopping all servers...
Stopping Apache Web Server...
/Applications/XAMPP/xamppfiles/apache2/scripts/ctl.sh : httpd stopped
Stopping ProFTPD...
Checking syntax of configuration file
/Applications/XAMPP/xamppfiles/proftpd/scripts/ctl.sh : proftpd stopped
Restarting all servers...
Starting MySQL Database...

Starting Apache Web Server...
/Applications/XAMPP/xamppfiles/apache2/scripts/ctl.sh : httpd started
Starting ProFTPD...
Checking syntax of configuration file
/Applications/XAMPP/xamppfiles/proftpd/scripts/ctl.sh : proftpd started

Zarówno mój ProFTPD, jak i mój serwer internetowy Apache są uruchomione. MySQL nie jest. Kiedy idę do phpmyadmin, wyświetla mi ten komunikat o błędzie.

#2002 - No such file or directory
The server is not responding (or the local server's socket is not correctly configured).

Proszę pomóż mi. Nie mam pojęcia, co robić.

AKTUALIZACJA:

Po rozejrzeniu się po Internecie znalazłem podobny problem, który użytkownik miał z MAMP, inny użytkownik zalecił zabicie procesu mysql, cokolwiek to oznacza. Czy to może rozwiązać mój problem?

AKTUALIZACJA 2:

Znalazłem odpowiedź na mój problem, ale nie mogę jej jeszcze odpowiedzieć. Oto odpowiedź:

1) Otwórz terminal i wpisz

sudo su

a następnie wprowadź swoje hasło

2) Następnie wpisz

ps aux | grep mysql

(po prostu skopiuj i wklej to)

3) Musisz uzyskać identyfikator procesu mysql. U góry powinna znajdować się liczba, na przykład 739 lub 8827

4) Zabij proces za pomocą

kill -9 {process id}

powinno to wyglądać mniej więcej tak: kill -9 739

5) Uruchom ponownie MySQL w manager-osx


Kiedy zaczął się problem?
Hammad Khan

2
Możesz także przejść do monitora aktywności w folderze narzędzi i zabić tam proces.
evan.stoddard

Poleciłbym również wykonać kopię zapasową folderu katalogu internetowego i ponownie zainstalować xampp. U mnie to działa.
evan.stoddard

2
Jak myślisz, co spowodowało problem?
Hammad Khan

Zainstalowałem inny mysql na moim komputerze Mac. Zatrzymałem to, a potem rozwiązałem.
Md. Sajedul Karim

Odpowiedzi:


166

To powinno działać:
sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start


2
Działa to, gdy manager-osx nie może uruchomić bazy danych mySQL na twoim lokalnym hoście
Charles Wyke-Smith

2
Świetnie, to działa! Jestem jednak ciekawy, dlaczego manager-osx uruchamia mySQL i czy będę musiał uruchomić sudo /Applications/XAMPP/xamppfiles/bin/mysql.server? Czy można poprawić skrypt manager-osx?
pomyślny 99

7
Nie działa dla mnie: Starting MySQL ..................................................................................................... ERROR! The server quit without updating PID file (/Applications/XAMPP/xamppfiles/var/mysql/gmac.local.pid).
Geoffrey Hale

4
@GeoffreyHale i wszyscy inni borykający się z tym problemem: spójrz na swój dziennik (/Applications/XAMPP/xamppfiles/var/mysql/YOURNAME.err) i prawdopodobnie dowiesz się, co spowodowało błąd. Mój był, [ERROR] InnoDB: Unable to lock /Applications/XAMPP/xamppfiles/var/mysql/ibdata1, error: 35a ponadto [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.Heck! To było dobre! Zabij proces mysqld, wpisz polecenie benshittu i powinno działać.
LucaM

To nie zadziałało dla mnie. Jakiej wersji XAMPP używasz, kiedy to robisz? Jestem na 1.8.3-4 ze względu na zgodność aplikacji.
Adrian

89

Minimalny przewodnik

1. sudo killall mysqld

2. manager-osx> uruchom mysql


Jeśli to nie zadziałało ...

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

Wygoogluj błąd ...


Przykłady:

Błąd:

ERROR! The server quit without updating PID file (/Applications/XAMPP/xamppfiles/var/mysql/<computername>.local.pid)

Moje rozwiązanie:

Na /Applications/XAMPP/xamppfiles/etc/my.cnfzmianę user = <uid>z którą <uid>jest uidod iddowodzenia.

$ id
uid=...

$ vim /Applications/XAMPP/xamppfiles/etc/my.cnf
...

5
Absolutnie mi pomogło. Dzięki.
azwar_akbar

wygląda na to, że „sudo killall mysqld” nie przechwytuje wszystkich uruchomionych instancji mysql. miałem mysql działający z homebrew, więc sprawdź "usługi brew" i jeśli proces mysql tam działa, zatrzymaj go za pomocą "brew services stop mysql"
nerdess

67

Jeśli te polecenia nie działają dla Ciebie:

sudo killall mysqld
sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

Spróbuj tego:

W przypadku XAMPP 7.1.1-0 zmieniłem numer portu z 3306 na 3307.

  1. Kliknij Zarządzaj serwerami
  2. Wybierz bazę danych MySQL
  3. Kliknij Konfiguruj po prawej stronie
  4. Zmień numer portu na 3307
  5. Kliknij OK
  6. Zamknij Panel sterowania i uruchom go ponownie.

Jesteś teraz gotowy do pracy.


Bardzo mnie to obchodziło ze zmianą portu i restartem menadżera. Dziękuję.
Shubha S

Doskonale, zmieniłem numer portu z 3306 na 3307. Dziękuję!
Bonsai

3
Próbuję tego samego, ale nie pracuję dla nowego Xampp 7.2.2: Otrzymałem następujący komunikat o błędzie (mam zablokowane pytanie, więc nie mogę zadać nowego pytania na stackoverflow) Starting MySQL .2018-03-06 11:21:32 3610 mysqld_safe Logging to '/Applications/XAMPP/xamppfiles/var/mysql/Bharats-iMac.local.err'. 2018-03-06 11:21:32 3610 mysqld_safe Starting mysqld daemon with databases from /Applications/XAMPP/xamppfiles/var/mysql ERROR!
bharat

Uruchamiam to polecenie sudo /Applications/XAMPP/xamppfiles/bin/mysql.server, zaczynając, że działa dla mnie.
Ramv V

Zmiana portu XAMPP MySQL na 3307 działa dobrze!
Mohamed Daaniyaal

31

sprawdź dziennik błędów w swoim / Applications / XAMPP / xamppfiles / var / mysql / z nazwą pliku, na przykład nazwa_maszyny.local.err, jeśli znajdziesz coś takiego: „Podjęto próbę otwarcia wcześniej otwartego obszaru tabel. Poprzedni obszar tabel ... używa identyfikatora miejsca”

dla mnie działa:

edytuj plik:

/Applications/XAMPP/xamppfiles/etc/my.cnf

znajdź sekcję [mysqld], dodaj jedną linię:

innodb_force_recovery = 1

następnie uruchomić

sudo /Applications/XAMPP/bin/mysql.server start

znowu wszystko w porządku.

a potem ostatni krok:

ponownie edytuj plik my.cnf i usuń właśnie dodaną linię:

innodb_force_recovery = 1

i ponownie uruchom mysql. W przeciwnym razie wszystkie Twoje tabele będą tylko do odczytu


14

Spróbuj uruchomić te dwa polecenia w terminalu:

  1. sudo killall mysqld sudo
  2. /Applications/XAMPP/xamppfiles/bin/mysql.server start

11

U mnie zadziałało: Zmień uprawnienia na „tylko do odczytu” dla „wszystkich” do pliku /Applications/XAMPP/xamppfiles/etc/my.cnf. Następnie uruchom MySQL z menedżera XAMPP.


Pracował dla mnie! Idealny!
Jasper

czy to oznacza, że ​​robisz to chmod 444 my.cnfw terminalu?
Abdullah Rasheed

6

Najpierw nie udało mi się zabić demona mysql za pomocą zamieszczonych tutaj poleceń. Więc przypomniałem sobie czasy Linuksa i zrobiłem co następuje:

Monitorowałem uruchomione procesy, uruchamiając je topw jednym oknie terminala. Następnie zabiłem mysqld przez sudo killall mysqld(przykręć PID ;-)) w innym i zrestartowałem przez sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start.


6
  1. zamknij sterowanie XAMPP
  2. sudo killall mysqld
  3. sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

2
Pracował dla mnie! - Nie martw się, jeśli sudo killall mysqldwyrzuci coś takiego process not found.
Jimmy Adaro,

6

to mi się przydarzyło. i

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

nie działa dla mnie.

więc ponownie instaluję xampp, a następnie naprawiam.

Uwaga:

zainstaluj ponownie xampp, nie usunie danych mysql, nie musisz się tym martwić.


Zamiast tego dla mnie ta linia kodu działa za każdym razem, gdy MySQL się nie uruchamia
Sasha Chirico

1
Ponowna instalacja XAMPP daje mi większy problem. Nie mogę już uzyskać dostępu do danych tabeli
Robert Cabri,

4

Odpowiedzi było wiele, ale myślę, że znalazłem przyczynę, przynajmniej dla mnie. Wygląda na to, że jeśli uśpisz komputer (lub zasypia sam), po ponownym uruchomieniu spróbuje ponownie otworzyć proces mysql. W pewnym momencie spojrzałem na mój monitor aktywności i miałem uruchomionych 5 instancji - zabijając je wszystkie, a następnie uruchamiając mysql.


4
sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start    

To zadziałało dla mnie.


BŁĄD! Serwer zakończył pracę bez aktualizacji pliku PID (/Applications/XAMPP/xamppfiles/var/mysql/testingAccounts-Mac.local.pid) .. co zrobić
Krutarth Patel

1
@iKrutarth spójrz na mój komentarz do odpowiedzi benshittu, może byłoby to pomocne również dla Ciebie
LucaM

Zduplikowana odpowiedź. Istnieje już starsza wersja tej odpowiedzi.
Henrik

4

Udało mi się łatwo zabić wszystkie aktywne procesy mysql w narzędziu Monitor Activity:

1) zamknij kontrolę XAMPP

2) otwórz Monitor aktywności

3) wybierz filtr dla wszystkich procesów (domyślnie Moje procesy)

4) wyszukaj: mysql

5) wymuś zamknięcie wszystkich mysql

6) Uruchom ponownie kontrolę XAMPP i ponownie uruchom apache

Cieszyć się


4

wypróbuj te dwie linie z terminala

  1. sudo killall mysqld
  2. sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

3

Może to być spowodowane zainstalowanym oprogramowaniem lub innym oprogramowaniem, które korzysta z tego samego portu 3306. Ten port 3306 jest używany przez MySQL w XAMPP. Podobny problem napotkałem w przypadku Apache. Uruchomiłem skype i próbowałem uruchomić XAMPP, ale skype używa tego samego portu co Apache, więc nie działa. Potem wylogowałem się ze Skype, port był wolny i zaczął się apache. Więc powinieneś poszukać oprogramowania w swoim laptopie, które blokuje lub powoduje zajęcie tego portu. Uwolnij ten port, zamykając oprogramowanie, a następnie uruchom XAMPP i będzie działać.


3

Oto co zrobiłem: w XAMPP Control Panel wyedytowałem plik my.ini konfiguracji MySql i zmieniłem port z 3306 na 3307 i zadziałało, mam nadzieję, że pomogło!

Edycja: po zapisaniu tych zmian upewnij się, że usługa jest wyłączona, a następnie uruchom ją ponownie. Miałem ten sam problem, kiedy instalowałem MySQL, to tylko port.


2

Właśnie napotkałem ten problem. Sprawdziłem plik dziennika i stwierdziłem, że jest to spowodowane nieprawidłowym zamknięciem serwera. Znalazłem więc http://rivenlinux.info/how-to-recover-innodb-corruption-for-mysql/ i dodałem prostą konfigurację „innodb_force_recovery = 1” w [mysqld] w my.cnf. Wtedy problem został rozwiązany.

Plik dziennika znajduje się / Applications / XAMPP / xamppfiles / var / mysql i nosi nazwę zgodną z nazwą twojego serwera. Po prostu połącz ten plik XXX-MacBook-Pro.local.err


Thnx. To bardzo pomogło. Znaleziono dziennik błędów i zobaczyłem, że przyczyną problemu był innodb. Teraz uruchamia się ponownie, ale nie ma już dostępu do baz danych. Jest więc większy podstawowy problem :(. Myślę, że ma to coś wspólnego z aktualizacją Mac OSX. To nie jest pierwszy raz. Tylko ponowna instalacja xampp też tego nie naprawi. Bazy danych są uszkodzone ....
Robert Cabri

1

Wszystkie powyższe odpowiedzi dotyczące zmiany numeru portu są w tej sytuacji najlepszym sposobem rozwiązania tego problemu, ponieważ oprogramowanie do rozpoznawania głosu musi współistnieć z MAMP. Musisz jednak pamiętać, że zmiana tego numeru portu wpłynie na wszystkie twoje kolejne połączenia z MySQL (tj. Terminal, kod php, phpmyadmin itp.). Dlatego wskazana byłaby zmiana portu, na którym działa oprogramowanie do rozpoznawania głosu. Mam nadzieję, że to było pomocne.

:)


1

jeśli otrzymujesz ten błąd

.............ERROR! The server quit without updating PID file 

Spróbuj tego

Przejdź do / Applications / XAMPP / xamppfiles / var / mysql /

jeśli nie ma pliku o nazwie Twoja_nazwa_użytkownika.lokalny.pid

Your_Username should replace with your Mac Username

Utwórz plik o tej nazwie

Więc spróbuj

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start    

to zadziałało dla mnie


1

Miał ten sam problem, wszystko, co zrobiłem, to przyznałem uprawnienia tylko do odczytu WSZYSTKIM użytkownikom (w tym system) i wszystkim elementom zawartym w następujących folderach:

/Applications/XAMPP/xamppfiles/etc
/Applications/XAMPP/xamppfiles/sbin

i ponownie uruchom kontrolę XAMPP i ponownie uruchom serwer mysql lub

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start   

1

Mam ten sam problem i otrzymuję ten błąd w hostname.err w katalogu / Applications / XAMPP / xamppfiles / var / mysql

2016-09-06 15:32:45 140735322399488 [Uwaga] Wtyczka „FEEDBACK” jest wyłączona. 2016-09-06 15:32:45 140735322399488 [Uwaga] Tryb odzyskiwania po awarii heurystycznej 2016-09-06 15:32:45 140735322399488 [Uwaga] Uruchom ponownie mysqld bez --tc-heuristic-recovery 06.09.2016 15: 32:45 140735322399488 [BŁĄD] Nie można zainicjować dziennika tc 06-09-2016 15:32:45 140735322399488 [BŁĄD] Przerwanie

2016-09-06 15:32:48 20004 mysqld_safe mysqld z pliku pid /Applications/XAMPP/xamppfiles/var/mysql/hostname.pid zakończona

Następnie usunąłem tc.log i działa dobrze po ponownym uruchomieniu mysql przez manager-osx


usunięcie tc.log rozwiązało ten problem dla mnie
Greg Kerstine,

1

Może to być spowodowane faktem, że w twoim mac-book-pro (MacOs-10) działa już inna instancja mysqd. Niemożliwe jest zabicie / pkill mysqld lub ... Próbowałem tej trasy wiele razy, bez żadnego sukcesu. Wreszcie zadziałały dla mnie:

launchctl unload -w /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

poczekaj kilka minut i sprawdź

ps -ef|grep mysqld

Powinno zniknąć!


1

na

macOs High Sierra

jeśli mysql nie uruchamia się z manager-oxs i próbował bezpośredniego polecenia, tj

sudo /Applications/XAMPP/bin/mysql.server start

też niż przejść do edycji ścieżki

/ Aplikacje / XAMPP / xamppfiles / etc /

Znajdź plik :

my.cnf

Edytuj to

w sekcji [mysqld] dodaj następujący wiersz:

innodb_force_recovery = 1

po tym zapisz i uruchom lub można to zrobić z manager-osx

sudo /Applications/XAMPP/bin/mysql.server start

powinien uruchomić mysql.

Po uruchomieniu musisz ponownie edytować plik

my.cnf

plik i usuń właśnie dodaną linię

innodb_force_recovery = 1

zatrzymaj się i uruchom ponownie mysql. na polecenie

sudo /Applications/XAMPP/bin/mysql.server start 

lub przez manager-osx

będzie działać dobrze.


0

Może się zdarzyć, że oprogramowanie do rozpoznawania głosu ma wewnętrznie instalator mysql, a kiedy zainstalowałeś to oprogramowanie, zainstalował również mysql i dodał go do usługi, a ta usługa mysql uruchamia się po uruchomieniu systemu. Więc teraz masz dwa serwery mysql (jeden z oprogramowania do rozpoznawania głosu, a drugi z XAMPP), dlatego zabicie poprzedniego procesu (usługa mysql) rozwiązało Twój problem. Ale nie jest to trwałe rozwiązanie, musisz to powtarzać za każdym razem, gdy uruchamiasz maszynę. Lepiej więc dowiedzieć się, że serwer (usługa) mysql i zmienić jego port nr. LUB zmień ustawienia, aby usługa mysql nie uruchamiała się po uruchomieniu komputera (ale może to oznaczać, że oprogramowanie do rozpoznawania głosu nie będzie działać poprawnie)

Mam nadzieję, że ci to pomoże.

Twoje zdrowie


0

Wygląda na to, że znalazłeś obejście, zabijając proces, ale upewnij się, że sprawdziłeś wolne miejsce na partycji MySQL. Jeśli Twoje logi lub pliki db zajmują całe miejsce na dysku, mysqld nie uruchomi się.


0

Ponowne uruchomienie komputera lub użycie poleceń „kill” wymienionych powyżej rozwiązuje problem. JAKO zapobieganie temu, stwierdziłem, że dzieje się to za każdym razem, gdy mój komputer przechodzi w stan uśpienia. Port jest oczywiście zarezerwowany, a następnie po przebudzeniu mysql próbuje ponownie połączyć się z tym portem, ale nie może. To może być również twój problem.


0

Używam XAMPP 5.6.3-0 dla OS X Yosemite 10.10.2 i dwukrotnie napotkałem ten sam problem, pierwszy raz z Mavericks. Ponieważ kilka różnych rozwiązań problemu z bazą danych MySQL nie uruchamiało aplikacji Manager, chciałem sprawdzić, co mi pomogło. Obejściem, które zawsze działało i wymuszało uruchomienie MySQL, było otwarcie Terminala i użycie: sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start Otworzyłem aplikację Manager i uruchomiłem ProFTPD i Apache, a następnie uruchomiłem polecenie sudo.

Inną sugestią firmy Wishap, która zadziałała, było zlokalizowanie pliku /Applications/XAMPP/xamppfiles/etc/my.cnf i zmiana uprawnień „wszystkich” na Tylko do odczytu.

Innym problemem, który miałem, który wydaje się być kolejnym problemem z wieloma rozwiązaniami, jest problem po uruchomieniu wszystkiego, a następnie wejściu do localhost, który przenosi mnie do ekranu powitalnego xampp i nic. Jedyną rzeczą, która zadziałała dla mnie, przynajmniej do uzyskania dostępu do strony phpMyAdmin, jest wpisanie localhost / phpmyadmin

Mam nadzieję, że pomoże to innym w przeczytaniu kilku wątków w celu uzyskania odpowiedzi.

Pozdrawiam, Erik


0

Spróbuj tego, usługa sudo mysql zatrzymaj , zatrzyma wszystkie inne usługi mysql, a następnie uruchom ponownie xampp


0

Po prostu kliknij zakładkę Managed Servers w XAMPP MANAGER, teraz wybierz bazę danych MySQL, kliknij konfiguruj po prawej stronie.

Zmień port z 3306 na 3307 i będzie działać.


0

Miał ten sam problem, wszystko, co zrobiłem, to nadanie uprawnień tylko do odczytu dla wszystkich użytkowników i wszystkich elementów zawartych w następujących folderach:

/Applications/XAMPP/xamppfiles/etc
/Applications/XAMPP/xamppfiles/sbin

0

Cóż, czasami ERROR!w komentarzu mysql na terminalu pojawia się po prostu wiadomość. Następnie wystarczy ponownie zainstalować (nadpisać) XAMPP, a następnie można to rozwiązać.


Miałem też po prostu BŁĄD! i nic więcej. Poszedłem z tym wątkiem, a następnie wykonałem kroki sudo killall. Nie musiałem reinstalować - osx el
capitan
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.