Kiedy otwieram XAMPP i klikam przycisk Start MySQL i wyświetla mi się błąd. Zacząłem to przed chwilą, ale teraz nie działa.
12:19:12 [mysql] Próba uruchomienia aplikacji MySQL ...
12:19:12 [mysql] Wykryto zmianę stanu: działa
12:19:13 [mysql] Wykryto zmianę stanu: zatrzymano
12:19:13 Błąd PM [mysql]: nieoczekiwane zamknięcie MySQL.
12:19:13 [mysql] Może to być spowodowane zablokowanym portem, brakującymi zależnościami,
12:19:13 [mysql] niewłaściwymi uprawnieniami, awarią lub zamknięciem inną metodą
12:19:13 [mysql ] Naciśnij przycisk Logs, aby wyświetlić dzienniki błędów i sprawdź
12:19:13 [mysql] Windows Event Viewer, aby uzyskać więcej wskazówek
12:19:13 PM [mysql] Jeśli potrzebujesz dodatkowej pomocy, skopiuj i opublikuj to
12:19: 13 PM [mysql] całe okno dziennika na forach
Oto zawartość dziennika błędów:
2013-08-02 12:19:12 4536 [Uwaga] Wtyczka „FEDERATED” jest wyłączona.
2013-08-02 12:19:12 f64 InnoDB: Ostrzeżenie: Używanie innodb_additional_mem_pool_size jest WYCOFANE. Ta opcja może zostać usunięta w przyszłych wydaniach razem z opcją innodb_use_sys_malloc oraz z wewnętrznym alokatorem pamięci InnoDB.
02.08.2013 12:19:12 4536 [Uwaga] InnoDB: Sterty pamięci InnoDB jest wyłączona
02.08.2013 12:19:12 4536 [Uwaga] InnoDB: Muteksy i rw_locks korzystania z systemu Windows zablokowane funkcje
2013-08-02 12:19:12 4536 [Uwaga] InnoDB: Skompresowane tabele używają zlib 1.2.3
2013-08-02 12:19:12 4536 [Uwaga] InnoDB: Nieużywanie instrukcji crc32 procesora 2013-08-02
12:19:12 4536 [Uwaga] InnoDB: Inicjalizacja puli buforów, rozmiar = 16.0M
2013-08-02 12:19:12 4536 [Notatka] InnoDB: Ukończono inicjalizację puli buforów
2013-08-02 12:19:12 4536 [Notatka] InnoDB: Najwyższym obsługiwanym formatem pliku jest Barracuda.
2013-08-02 12:19:12 4536 [Uwaga] InnoDB: Kolejne numery dzienników 0 i 0 w plikach ibdata nie są zgodne z numerami sekwencji dziennika 1616798 w ib_logfiles!
2013-08-02 12:19:12 4536 [Notatka] InnoDB: Baza danych nie została normalnie zamknięta!
2013-08-02 12:19:12 4536 [Notatka] InnoDB: Rozpoczynanie odzyskiwania po awarii.
2013-08-02 12:19:12 4536 [Notatka] InnoDB: Odczytywanie informacji o przestrzeni tabel z plików .ibd ...
Najważniejszy komunikat o błędzie znajduje się tutaj:
2013-08-02 12:19:12 4536 [BŁĄD] InnoDB: Podjęto
próbę otwarcia wcześniej otwartego obszaru tabel.
Poprzedni obszar tabel mysql / innodb_table_stats używa identyfikatora miejsca: 1 w ścieżce pliku:. \ Mysql \ innodb_table_stats.ibd .
Nie można otworzyć obszaru tabel xat / payment, który używa identyfikatora przestrzeni: 1 w ścieżce pliku:. \ Xat \ payments.ibd
Reszta dziennika:
InnoDB: Błąd: nie można otworzyć pliku obszaru tabel z pojedynczą tabelą. \ Xat \ payments.ibd
InnoDB: Nie kontynuujemy odzyskiwania po awarii, ponieważ tabela może stać się
InnoDB: uszkodzona, jeśli nie możemy zastosować do niej rekordów dziennika w dzienniku InnoDB .
InnoDB: Aby rozwiązać problem i uruchomić mysqld:
InnoDB: 1) Jeśli występuje problem z uprawnieniami w pliku, a mysqld nie może
InnoDB: otwórz plik, należy zmodyfikować uprawnienia.
InnoDB: 2) Jeśli tabela nie jest potrzebna lub możesz przywrócić ją z kopii zapasowej,
InnoDB: wtedy możesz usunąć plik .ibd, a InnoDB wykona normalne
InnoDB: odzyskiwanie po awarii i zignoruje tę tabelę.
InnoDB: 3) Jeśli system plików lub dysk jest uszkodzony i nie można go usunąć
InnoDB: plik .ibd, możesz ustawić innodb_force_recovery> 0 w my.cnf
InnoDB: i zmusić InnoDB do kontynuowania odzyskiwania po awarii tutaj.
Jaka jest przyczyna tych błędów i jak mogę je naprawić?
innodb_file_per_table
włączeniem). Metody sugerowane w komunikacie dziennika wydają mi się lepsze.ib_logfile0
iib_logfile1
uruchomićibdata1
jest równoznaczne z utratą wszystkich danych (lub przynajmniej wszystkich, które sąENGINE=Innodb
!Usunięcie tego pliku jest jak gra w rosyjską ruletkę z twoimi bazami danych, może to zadziałać i przywrócić wszystko, ale także prawdopodobnie może zaszkodzić każdej posiadanej bazie danych. Zamiast tego najpierw spróbuj użyć folderu kopii zapasowej MySQL, który jest dołączony do XAMPP. Więc zrób następną:
mysql/data
namysql/data_old
(możesz użyć dowolnej nazwy)mysql/data
mysql/backup
nowymmysql/data
folderzemysql/data_old
celumysql/data
(z pominięciemmysql
,performance_schema
iphpmyadmin
folderydata_old
)ibdata1
plik zmysql/data_old
i zamień go w środkumysql/data
folderzeI voilà!
źródło
Powinien to naprawić.
źródło
Jeśli powyższe odpowiedzi nie działają, możesz spróbować usunąć wszystkie pliki w danych, z wyjątkiem folderu
Idź do: C: \ xampp \ mysql \ data
Następnie: Idź do: C: \ xampp \ mysql \ bin
następnie otwórz w notatniku my.ini , wygląda tak.
Następnie usuń lub umieść w komentarzu port 3306 i zmień go na 8111, a następnie uruchom xamp z administratorem i dobrze działa.
źródło
Kiedy nie używasz XAMPP jako administrator, zamknięcie MySQL często powoduje uszkodzenie, co oznacza, że musisz naprawić lub usunąć swoje tabele. Aby tego uniknąć, musisz albo uruchomić XAMPP jako administrator, albo użyć odpowiedniej metody wiersza poleceń do zamknięcia MySQL.
Możesz usunąć,
ibdata1
jak sugeruje Kratos, ale może to spowodować uszkodzenie bazy danych, ponieważ inne fragmenty bazy danych nadal znajdują się w/mysql/data/
folderze. W moim przypadku te szczątkowe dane uniemożliwiły mi pomyślną instalację WordPressa.Czystszym sposobem na cofnięcie szkód jest przywrócenie całego
/mysql/data/
folderu. Windows ma wbudowane przechowywanie wersji folderów - kliknij prawym przyciskiem myszy/mysql/data/
i wybierzRestore previous versions
. Następnie możesz usunąć bieżącą zawartość folderu i zastąpić ją zawartością starszej wersji.Dodatek: Aby upewnić się, że nie zapomnisz uruchomić XAMPP jako administrator, możesz kliknąć prawym przyciskiem myszy skrót XAMPP, przejść do
Properties
, następnieAdvanced
i na koniec zaznaczyćRun as administrator
.źródło
My Xampp MySQL działał tak, jak poniżej:
01.Go to mysql/data/ directory 02. delete the ibdata1 & ib_logfile*(ib_logfile0,ib_logfile1,ib_logfile101) file 03. restart xampp server
źródło
Dodaj następujący wiersz poniżej
[mysqld]
sekcji w pliku konfiguracyjnym mysql (my.ini), a następnie ponownie uruchom serwer WWW Apache i usługę mysql.źródło
Wystąpił ten sam rodzaj błędu
C:\xampp\mysql\data\mysql_error.log
podczas próby uruchomienia mysql.Będziesz musiał uważnie przeczytać błąd. To mówi, że
test_database
uniemożliwia uruchomienie mysql.Możesz usunąć problematyczną bazę danych, poniższe kroki rozwiązują problem:
C:\xampp\mysql\data
test_database
.C:\xampp\mysql\data\mysql\backuptablespace
Jeśli to nie zadziała, odłóż plik z powrotem tam, gdzie zacząłeś, a wrócisz tam, gdzie zacząłeś.
Jeśli nie chcesz usuwać bazy danych i nie masz kopii zapasowych:
Jeśli nie masz kopii zapasowych danych tabeli, a mysql nie uruchamia się, ponieważ coś jest uszkodzone, musisz użyć procesu eliminacji, aby odgadnąć i sprawdzić, co dokładnie zrobiłeś, co go zepsuło. Wykonaj następujące kroki:
C:\xampp\
i przechowuj go w bezpiecznym miejscu, aby móc wrócić do początku.Spróbuj usunąć te pliki z
C:\xampp\mysql\data\mysql
: db.frm db.MRD db.MYI db.opt użytkownik.frm użytkownik.MYD użytkownik.MYIKiedy uruchomisz mysql, spróbuj odłożyć rzeczy z powrotem, aż znajdziesz jedyną dodaną rzecz, która uniemożliwi jej uruchomienie. Dodatkową korzyścią jest to, że nauczysz się, jak mysql działa pod maską.
Opcja jądrowa:
Coś co zrobiłeś zepsuło serwer mysql. Odinstalowanie i ponowna instalacja XAMPP powinna cofnąć uszkodzenie.
źródło
Ja też stanąłem przed tym problemem i tak rozwiązałem.
1. Upewnij się, że xampp nie znajduje się w podkatalogu. Na przykład powinien to być C: \ xampp
2. Może być konieczne uruchomienie aplikacji jako administrator.
Mam nadzieję, że to zadziała!
źródło
Oto co zrobiłem. Uruchomiłem ponownie komputer. Następnie uruchamiam services.msc. Zatrzymałem usługę MySQL, a następnie uruchomiłem ją ponownie. Zrestartowano serwer Xampp.
źródło
Żadne rozwiązanie powyżej nie zadziałało dla mnie. to zrobiłem poniżej:
Usunąłem wszystkie pliki w katalogu C: \ xampp \ mysql \ data \ z wyjątkiem folderów w tym katalogu. Działało doskonale, ale moje poprzednie bazy danych nie działają teraz. Zrób więc powyżej, jeśli nie obchodzi cię to, usunie wszystkie poprzednie bazy danych w phpmyadmin.
źródło
w moim przypadku wykonałem następujące kroki i zadziałało:
W panelu kontrolnym Xampp kliknij przycisk "Usługi" na prawym pasku narzędzi
Następnie znajdź „MySQL” na liście usług
Kliknij na nią i po lewej stronie panelu kliknij „stop”
Wróć do panelu sterowania Xampp i kliknij Start.
źródło
xampp/mysql/backup
pliki doxampp/mysql/data
XAMPP
jakoAdministrator
(upewnij się, że mysql jest zainstalowany, możesz zobaczyć zielony haczyk, jeśli jest zainstalowany)Mam nadzieję, że to pomoże!
źródło
miałem ten sam problem i żadne z powyższych rozwiązań nie pomogło. Poszedłem do pliku konfiguracyjnego mysql (my.ini) i zmieniłem numer portu na [mysqld]. Domyślnie mysql działa na porcie 3306.
zmieniłem to na
Następnie uruchom jako Administrator. W końcu to zadziałało.
źródło
Nigdy nie usuwaj tego pliku (
ibdata1
), ponieważ wszystkie Twoje dane zostaną usunięte !!!Proponuję trzy sposoby:
Odp .:
1 - Wyjdź z
XAMPP control panel
.1- Zmień nazwę folderu
mysql/data
domysql/data_old
(można użyć dowolnej nazwy)2- Utwórz nowy folder
mysql/data
3- kopiowanie zawartości, który znajduje się
mysql/backup
na nowymmysql/data
folderze4- skopiować wszystkie foldery bazy danych, które są w
mysql/data_old
celumysql/data
(omijając mysql, performance_schema i phpmyadmin folderów z data_old)5- Na koniec skopiuj
ibdata1
plik zmysql/data_old
i zamień go w środkumysql/data folder
6- Uruchom ponownie system.
B :
1 - Zatrzymaj wszystkie usługi sql.
2 - Następnie ponownie uruchom wszystkie usługi sql.
C :
1 - Otwórz panel sterowania XAMPP
2 - Kliknij przycisk Konfiguracja, przed mysql, kliknij my.ini 3 - Zmień port klienta i serwer.
źródło
Chłopaki po prostu upewnij się, że nie masz zainstalowanego serwera MySql. Ponieważ mam preinstalowany serwer MySql i kiedy uruchamiam mysql z panelu kontrolnego xampp, występują konflikty portów i nie działa. Dlatego przed uruchomieniem mysql z panelu kontrolnego xampp upewnij się, że serwer mysql nie jest zainstalowany. Używam .net, więc w przeszłości zainstalowałem serwer mysql. Odinstalowanie go rozwiązało mój problem ....
źródło
Rozwiązałem problem, kończąc zadanie mysqlid w Menedżerze zadań.
źródło
źródło
Rozwiązałem podobny błąd MySQL i myślę, że ta odpowiedź pomoże ci naprawić ten sam typ błędu bazy danych MySQL.
Rozwiązanie:
Weź kopię zapasową folderu danych MySQL
Przede wszystkim należy utworzyć kopię zapasową folderu „data” za pomocą dowolnego oprogramowania do kompresji.
Podaj nazwę, na przykład „data_backup.zip” lub dowolny typ kompresji.
Użyłem oprogramowania do kompresji winrar do kompresji i tworzenia kopii zapasowych folderu „data” mysql.
Zmień nazwę folderu „data”
Utwórz nowy folder „data”
Skopiuj zawartość z folderu „backup”
Przenieś wszystkie projekty MySQL Baza danych, pliki danych i pliki dziennika
Jeśli masz wiele baz danych, które były używane w różnych projektach, musisz przenieść całą bazę danych z folderu „data-oldfiles” do folderu „data”.
Skopiuj wszystkie bazy danych ze starych plików i wklej je do folderu danych.
Teraz musisz skopiować plik danych „ibdata1” i wszystkie pliki dziennika „ib_logfile0, ib_logfile1” z folderu data-old files do folderu danych.
Jeśli masz wiele id_logiles, skopiuj je wszystkie.
Teraz uruchom MySQL z XAMPP.
Przejdź do phpMyAdmin, aby sprawdzić, czy wszystkie bazy danych są dostępne i działają.
Teraz rozpocznij dowolny projekt strony internetowej od localhost, aby sprawdzić bazę danych MySQL.
Problem jest rozwiązany !!
Możesz przeczytać samouczki ze szczegółami, klikając poniższe łącze: Błąd: nieoczekiwane zamknięcie MySQL - rozwiązanie w 5 prostych krokach
Możesz także obejrzeć samouczki wideo, aby rozwiązać problem:
[Rozwiązany] Błąd: nieoczekiwane zamknięcie MySQL
źródło
U mnie zadziałało:
Logs
naMySql
wXAMPP panel
.3306
task manager(Ctrl+Shift+Esc)
a następnie znajdźmysqlid
iEnd the task
.źródło
Config-> Apache-> Open httpd.conf. wyszukaj Listen lub 80, zaktualizuj port nasłuchu do 8081 zapisz i zrestartuj serwer. Aha i zamknij Skype'a, jeśli go masz.
źródło
W moim przypadku, w którym zsynchronizowałem moje dane mysql i htdocs z dropboxem, wystarczyło usunąć pliki będące w konflikcie w folderze mysql / data i podfolderach. Pliki będące w konflikcie można zidentyfikować po nazwach, o czym poinformuje Dropbox. Rozwiązało to za mnie problem.
źródło
Upewnij się, że czas systemowy jest poprawny. Mój został w jakiś sposób ustawiony na rok 2040, poprawienie daty rozwiązało problem.
źródło
Dla mnie rzuciłem Skype'a, który zajmował port 80, potem Apache działał szczęśliwie na porcie 80, potem uruchomiłem Skype i tym razem wybrałem inny port.
źródło
jeśli używasz MariaDB, możesz spróbować tego:
źródło
komentuję to stwierdzenie w mysql / bin / my.ini
i rozwiązuje mój problem. niż wy wszyscy
źródło
Oznacza to, że masz już bazę danych MySQL działającą na porcie 3306.
W panelu sterowania XAMPP naciśnij przycisk „Config”, a następnie „my.ini”. Następnie naciśnij Ctrl-F i wyszukaj „3306”. Zastąp każdy znaleziony '3306' innym wybranym numerem portu (możesz wybrać 3307 lub 3308 - wybrałem 2811 i zadziałało).
Po zastąpieniu wszystkich lokalizacji, w których jest zapisane „3306”, zapisz plik i ponownie naciśnij przycisk „Start” na panelu sterowania.
źródło
Przejdź do menedżera zadań i wyszukaj mysqld, kliknij prawym przyciskiem myszy i wybierz KONIEC ZADANIA i odśwież XAMPP
źródło
Dla mnie problemem był:
Przyzwyczaiłem się do
hibernate
komputera zamiast się wyłączać ze względu na skalę projektu. Byłem na tyle leniwy, że ponownie otworzyłem wszystkie programy.Zanim spróbujesz cokolwiek innego, zalecam wykonanie następujących prostych czynności. W przeciwnym razie zostaniesz zepsuty na serwerze MySQL.
Jeśli nie działa,
Upewnij się również, że sprawdziłeś
3306
&5040
porty. Te dwa porty są wymagane do uruchomienia MySQL z ustawieniami domyślnymi.Sprawdź odpowiedź @Ryan Williams, aby dowiedzieć się, dlaczego dobrze jest uruchomić XAMPP jako administrator.
źródło
Dosłownie usunąłem każdy plik z c: \ xampp \ mysql \ data \ z wyjątkiem my.ini i działa
źródło