Nieoczekiwane zamknięcie MySQL: jak rozwiązać błąd MySQL XAMPP

Opublikowany: 2024-03-21

Błędy wykonawcze są powszechne zarówno wśród użytkowników serwerów na żywo, jak i użytkowników serwerów lokalnych. „Nieoczekiwane zamknięcie MySQL” to komunikat, na który natrafia wielu programistów, inżynierów i administratorów baz danych, gdy używają XAMPP jako lokalnego środowiska programistycznego. Ta sytuacja może być irytująca, ale nie jest to rzadki problem. Dobra wiadomość jest taka, że ​​można to naprawić. Wspieramy Cię tutaj.

W tym przewodniku porozmawiamy o tym, dlaczego pojawia się komunikat „Nieoczekiwane zamknięcie MySQL” i jak rozwiązać ten błąd XAMPP MySQL.

Ważne jest, aby zacząć od omówienia źródeł problemu. Ale najpierw dowiedzmy się więcej o XAMPP.

Nieoczekiwane zamknięcie MySQL. Błąd MySQL XAMPP.

Zrozumienie podstaw XAMPP

XAMPP to zasadniczo darmowy, wieloplatformowy pakiet rozwiązań serwerów WWW o otwartym kodzie źródłowym. Działa na różnych systemach operacyjnych, takich jak Windows, macOS i Linux, tworząc i zarządzając środowiskiem lokalnego serwera WWW.

XAMPP pozwala użytkownikowi łatwo testować nowe funkcje, debugować kod i zapewniać płynne działanie projektu w różnych środowiskach. XAMPP umożliwi Ci także skonfigurowanie oprogramowania niezbędnego do obsługi Twojej witryny WordPress.

To sprawia, że ​​jest to popularny wybór wśród programistów, szczególnie tych pracujących z aplikacjami opartymi na PHP, takimi jak WordPress.

XAMPP oznacza:

X: wieloplatformowy,

O: Apache HTTP Server, popularne oprogramowanie serwera WWW.

M: MariaDB (pierwotnie MySQL), system zarządzania bazami danych do przechowywania danych stron internetowych.

P: PHP, język skryptowy używany do tworzenia dynamicznych treści internetowych.

P: Perl, język programowania, którego można używać do tworzenia stron internetowych i innych zadań.

Mając lepsze pojęcie o systemie, omówmy przyczyny tego błędu.

Wprowadzenie do błędu zamykania MySQL w XAMPP

Błąd XAMPP „Nieoczekiwane zamknięcie MySQL” wskazuje, że usługa MySQL w Twoim środowisku programistycznym przestała działać. To bez ręcznego zatrzymywania MySQL. Można to zrobić z różnych powodów, na przykład podczas ponownego uruchamiania serwera, a nieoczekiwane zamknięcie jest czymś, czego zwykle się nie spodziewasz.

Kiedy MySQL nieoczekiwanie przestaje działać, Twoja witryna internetowa nie może komunikować się ze swoją bazą danych. Jest to kluczowy problem, zwłaszcza w przypadku platform opartych na bazach danych, takich jak WordPress, które w dużym stopniu opierają się na łączności z bazą danych we wszystkich operacjach.

W interfejsie XAMPP możesz zauważyć komunikaty prowadzące Cię przez proces rozwiązywania tego konkretnego błędu, szczególnie wyróżnione w dzienniku zdarzeń.

Odmiany błędu XAMPP MySQL

Kiedy nastąpi zamknięcie MySQL w XAMPP, na ekranie pojawi się jeden z tych komunikatów.

  • Nieoczekiwane zamknięcie MySQL.
  • Błąd: nieoczekiwane zamknięcie MySQL.
  • Usługa MySQL nie uruchamia się.
  • Problemy z portem, takie jak „Port 3306 używany przez inną aplikację”.
  • Rejestruj komunikaty o błędach wskazujące problemy z plikami ibdata.
  • Proces MySQL zakończył się nieoczekiwanie.

Każda z tych odmian może dostarczyć wskazówek na temat przyczyny i pomóc w rozwiązywaniu problemów.

Przyczyny błędu MySQL XAMPP

Wystąpienie tego błędu XAMPP MySQL „Nieoczekiwane zamknięcie MySQL” może wynikać z kilku powodów:

Konflikty portów: MySQL domyślnie używa 3306.Jeśli inna aplikacja komputerowa korzysta z tego portu, MySQL nie uruchomi się, co spowoduje zamknięcie.

Uszkodzone tabele lub pliki danych: Jeśli pliki MySQL ulegną uszkodzeniu – z powodu problemów z dyskiem, nieoczekiwanego wyłączenia lub z innych powodów – uruchomienie MySQL może nie być możliwe.

Nieodpowiednia konfiguracja: Błędne konfiguracje w pliku my.ini, takie jak nieprawidłowe rozmiary buforów lub alokacja pamięci, mogą powodować błędy podczas uruchamiania.

Problemy z uprawnieniami: MySQL potrzebuje pewnych uprawnień, aby uzyskać dostęp do plików danych i wykonywać operacje.Jeśli te uprawnienia będą nieprawidłowe, działanie MySQL może zostać zatrzymane.

Naprawianie błędu XAMPP „Nieoczekiwane zamknięcie MySQL”

Dotarliśmy do oczekiwanej części dotyczącej rozwiązywania problemów. Oto przewodnik krok po kroku, jak naprawić błąd XAMPP: „Nieoczekiwane zamknięcie MySQL”

1. Sprawdź konflikty portów

Dla użytkowników systemu Windows:

  1. Otwórz wiersz poleceń: Naciśnij Win + R → wpisz cmd → naciśnij Enter.
  2. Użyj netstat: Wpisz netstat -ano |findstr 3306 → naciśnij Enter. To polecenie wyszukuje aplikacje korzystające z portu 3306, domyślnego portu MySQL.
  3. Zinterpretuj wynik: Jeśli widzisz linię wyników, coś używa portu 3306. Zanotuj PID (ID procesu)na końcu linii, ponieważ będzie on potrzebny do zidentyfikowania aplikacji powodującej konflikt.

Dla użytkowników systemu macOS/Linux:

  1. Otwórz Terminal.
  2. Użyj lsof: Wpisz lsof -i :3306 → naciśnij Enter.To polecenie wyświetla listę otwartych plików i odpowiednich aplikacji korzystających z portu 3306.
  3. Przeczytaj wyniki: Jeśli polecenie zwróci informację, oznacza to, że port 3306 jest w użyciu.Zanotuj podaną nazwę aplikacji lubpodany identyfikator PID.

Po zidentyfikowaniu aplikacji korzystającej z portu 3306 rozwiąż problem, zmieniając port aplikacji powodującej konflikt lub port MySQL.

Opcja 1: Użyj zanotowanego wcześniej identyfikatora PID lub nazwy aplikacji, aby znaleźć aplikację powodującą konflikt. Znajdź ustawienia konfiguracyjne lub plik aplikacji. Poszukaj ustawienia numeru portu (które powinno być ustawione na 3306) i zmień je na inny numer portu. Zapisz zmiany.

Zmiana portu 3306.

Opcja 2: Zmień port MySQL w XAMPP: Otwórz plik my.ini znajdujący się w folderze XAMPP MySQL, poszukaj linii określającej port (zwykle port=3306) i zmień go na wolny port.Po wprowadzeniu tej zmiany uruchom ponownie MySQL.

2. Napraw uszkodzone tabele lub pliki danych

Jak się dowiedzieliśmy, w XAMPP mogą znajdować się uszkodzone tabele MySQL lub pliki danych, powodujące nieoczekiwane problemy z zamykaniem MySQL. Oto kroki umożliwiające identyfikację korupcji.

  1. Przejdź do katalogu instalacyjnego XAMPP → przejdź dofolderu mysql\data .Tutaj MySQL przechowuje pliki baz danych.
  2. Poszukajplików .err , czyli plików dziennika błędów, które mogą zawierać informacje o tym, co poszło nie tak.
  3. Przejrzyj pliki o nazwach odpowiadających Twoim bazom danych. Zwróć uwagę na rozmiary plików i daty modyfikacji, które wydają się nietypowe, ponieważ mogą one wskazywać na uszkodzenie.

Jeśli zidentyfikowałeś uszkodzony plik. Oto jak to rozwiązać.

Dla tabel MyISAM

  1. Najpierw wykonaj kopię zapasową danych. Zrób to poprzez phpMyAdmin XAMPP, eksportując swoje bazy danych lub używając polecenia mysqldump , jeśli znasz narzędzia wiersza poleceń.
  2. Otwórz wiersz poleceń (Windows) lub terminal (macOS/Linux).

Przejdź do folderu bin w katalogu MySQL XAMPP, wpisując cd i ścieżkę, np. C:\xampp\mysql\bin dla użytkowników systemu Windows.

W wierszu poleceń wpisz myisamchk -r /path/to/your/table.MYI , pamiętając o zastąpieniu /path/to/your/table.MYIprawdziwą ścieżką do tabeliMyISAM, którą chcesz naprawić. -r oznacza „odzyskaj”, którego celem jest naprawa stołu.

Obsługa tabel InnoDB

Tabele InnoDB są nieco trudniejsze ze względu na swoją konstrukcję i nie ma dla nich prostego narzędzia, takiego jak myisamchk.

  1. Przejrzyj pliki .err w katalogu mysql\data, aby znaleźć komunikaty o błędach dotyczącetabel InnoDB .Mogą one dać ci wskazówki dotyczące tego, co jest nie tak.
  2. Spróbuj wymuszonego odzyskiwania. Wymuś przejście MySQL w tryb odzyskiwania. Edytuj plikmy.ini (Windows) lub my.cnf (inny system operacyjny), dodajinnodb_force_recovery = 1w sekcji[mysqld], a następnie uruchom ponownie MySQL.

Jeśli sytuacja wygląda źle, najlepszym rozwiązaniem może być przywrócenie danych z kopii zapasowej. Mamy nadzieję, że masz najnowszą wersję, która może zastąpić uszkodzone tabele lub bazę danych.

3. Przejrzyj i dostosuj konfigurację

  1. Otwórz plikmy.ini za pomocą edytora tekstu.Najważniejsze rzeczy do przejrzenia toinnodb_buffer_pool_size (zwiększenie go może poprawić wydajność) oraz ścieżki określone w Basediridatadir.
  2. Jeśli znajdziesz jakieś błędne konfiguracje lub podejrzewasz, że ustawienie może być przyczyną problemów, wprowadź niezbędne zmiany. Na przykład, jeśliwartość innodb_buffer_pool_size jest ustawiona zbyt nisko w stosunku do obciążenia, odpowiednio ją zwiększ.Przed wprowadzeniem zmian zawsze wykonaj kopię zapasową oryginalnego plikumy.ini .

4. Ustaw odpowiednie uprawnienia

MySQL lub XAMPP mogą nie mieć niezbędnych uprawnień dostępu do swoich katalogów i plików, zwłaszcza po aktualizacjach lub zmianach w oprogramowaniu zabezpieczającym.

  1. Sprawdź uprawnienia folderów MySQL i XAMPP.
  2. Upewnij się, że konto użytkownika z uruchomionym XAMPP ma pełne prawa dostępu.
  3. W systemie Windows może być konieczne kliknięcie prawym przyciskiem myszy folderu XAMPP , przejście do Właściwości→ Bezpieczeństwo i odpowiednie dostosowanie.
  4. W systemach macOS i Linux użyj poleceńchmod i chown, aby ustawić prawidłowe uprawnienia.

5. Uruchom ponownie i monitoruj

Po zastosowaniu poprawek zrestartuj XAMPP, a konkretnie usługę MySQL, poprzez Panel sterowania XAMPP.

Obserwuj plik dziennika błędów MySQL pod kątem nowych ostrzeżeń i błędów. Dziennik ten zwykle znajduje się w katalogu danych lub jest określony w pliku my.ini .

Podsumowując

Podczas korzystania z lokalnych środowisk serwerowych natrafienie na błąd XAMPP MySQL „Nieoczekiwane zamknięcie MySQL” jest częstym problemem, o którym powinieneś wiedzieć. Bardzo ważne jest, aby wiedzieć, jak to naprawić i przywrócić serwer. W tym przewodniku przeprowadziliśmy Cię przez podstawy XAMPP, jak to działa, dowiedzieliśmy się o problemie, dlaczego występuje i jak możesz go rozwiązać krok po kroku bez paniki.

Jeśli korzystasz z lokalnego serwera XAMPP, miej ten przewodnik pod ręką na wypadek ponownego napotkania problemu. Nie martw się, szczegółowo omówiliśmy dla Ciebie cały proces rozwiązywania problemów.