Nagle mój lokalny serwer MySQL 5.5 przestał działać na moim systemie Windows XP SP3.
Mam również zainstalowane WAMP Apache i WAMP MySQL, ale WAMP MySQL nie działa. Dziennik błędów pokazuje:
- Nie można uruchomić serwera: Powiązanie na porcie TCP / IP: Brak takiego pliku lub katalogu
- Czy masz już inny serwer mysqld działający na porcie: 3306?
Próbowałem zmienić port z 3306 na 3307, ale usługa nadal się nie uruchamia, co powoduje błąd:
Podgląd zdarzeń pokazuje:
- Błąd krytyczny: Nie można otworzyć i zablokować tabel uprawnień: Tabela „mysql.host” nie istnieje
- Nie można otworzyć tabeli mysql.plugin. Uruchom mysql_upgrade, aby go utworzyć.
Najwyraźniej mogę uruchomić mysql_upgrade tylko wtedy, gdy serwer jest uruchomiony. Jak mogę utworzyć „mysql.host”, jeśli usługi nie można uruchomić?
Odinstalowałem MySQL Server i ponownie go zainstalowałem, a podczas instalacji po instalacji pojawia się błąd: Nie można uruchomić usługi. Błąd: 0.
Jak mogę stąd przejść?
Odpowiedzi:
Uruchom następujące polecenie
źródło
systemctl status mysqld.service 2015-02-20 15:41:07 15160 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
zainicjuj mysql przed uruchomieniem w systemie Windows.
źródło
Pierwszą rzeczą, którą musisz zrobić, to uruchomić następujące polecenia:
Zwróć uwagę na różnice
MySQL 5.0 ma 17 tabel w schemacie mysql
MySQL 5.1 ma 23 tabele w schemacie mysql
MySQL 5.5 ma 24 tabele w schemacie mysql
Należy pamiętać, że mysql.plugin nie istnieje w MySQL 5.0. Można przypuszczać, że w jakiś sposób zainstalowałeś MySQL 5.0 i spowodowałeś zniknięcie niezbędnych tabel dla MySQL 5.5.
Oto kilka dobrych wiadomości. Możesz spróbować.
Dla tego przykładu
Oto twoje kroki
Otóż to.
Jeśli używasz tego w systemie Windows, muszą obowiązywać te same zasady.
Spróbuj !!!
AKTUALIZACJA 2011-07-29 16:15 EDT
Jeśli twoje nazwy użytkowników miały uprawnienia do DB, oto twoje kroki
źródło
Dodaj ścieżkę MySQL do zmiennych środowiskowych.
źródło
wygląda na to, że już masz uruchomiony mysql
próbować
jeśli zobaczysz jakieś wyjście, prawdopodobnie musisz je zatrzymać (lub zrestartować).
jeśli nie widzisz żadnych danych wyjściowych, spróbuj uruchomić mysqld bez demonizacji i zobacz dane wyjściowe.
źródło
Dodałem tag Windows, aby pomóc ludziom odpowiedzieć na pytanie.
Moje tło to nie Windows, ale zasady mają zastosowanie.
Czy już działa proces mysql? Jeśli tak, musisz go zabić przed odinstalowaniem. Jeśli nadal działał, gdy próbowałeś odinstalować / zainstalować ponownie, będziesz mieć wokół siebie procesy i pliki uniemożliwiające całkowite odinstalowanie.
Otwórz okno usług, poszukaj czegoś z mysql w nazwie i upewnij się, że jest ustawione tak, aby nie podejmowało próby ponownego uruchomienia. Następnie otwórz kartę uruchomionych procesów w oknie uruchomionych programów (użyj CTRL-ALT-DEL, aby otworzyć) i poszukaj i zabij uruchomione procesy z mysql w nazwie.
Jeśli jesteś przekonany, że nie ma już uruchomionych procesów MySQL, możesz kontynuować. Możesz zrestartować komputer, aby mieć pewność, że nie będą już działać żadne uruchomione procesy mysql.
W tej chwili powinieneś być w stanie ponownie zainstalować i uruchomić mysql.
źródło
Uruchom mysql-test-run i powinieneś zobaczyć następujące dane wyjściowe:
źródło
Jeśli przenosisz swój datadir, musisz nie tylko nadać nowe uprawnienia do datadiru, ale także upewnić się, że wszystkie katalogi nadrzędne mają uprawnienia.
Przeniosłem mój katalog danych na dysk twardy, zamontowany w Ubuntu jako:
a moim datadirem były bazy danych .
Musiałem ustawić uprawnienia na 771 dla każdego katalogu multimediów, użytkownika i danych:
Jeśli to nie zadziała, innym sposobem na uruchomienie mysql jest zmiana użytkownika w /etc/mysql/my.cnf na root; choć bez wątpienia istnieją pewne problemy z robieniem tego z punktu widzenia bezpieczeństwa.
źródło