„Błąd 1067: proces nieoczekiwanie zakończył się” podczas próby zainstalowania MySQL na Win7 x64 [zamknięte]

14

Natknąłem się na mur z cegły, próbując zainstalować MySQL v5.5 na moim komputerze.

Mój komputer to Windows 7 x64, wersja Enterprise.

MySQL instaluje się dobrze, ale kiedy uruchamiam „Kreatora konfiguracji instancji MySQL”, zatrzymuje się on na zawsze na etapie „Uruchom usługę” (mogę pozwolić, aby działał przez 30 minut bez odpowiedzi). Jeśli przejdę do usług, zobaczę, że usługa „MySQL” nie została uruchomiona, a jeśli spróbuję ją uruchomić, będzie to oznaczać: „System Windows nie może uruchomić usługi MySQL na komputerze lokalnym. Błąd 1067: Proces został nieoczekiwanie zakończony”.

Próbowałem następujące:

  • Wyłączanie zapory ogniowej.
  • Odinstalowywanie całego oprogramowania antywirusowego.
  • Instalowanie / ponowne instalowanie 32-bitowej wersji MySQL.
  • Instalowanie / ponowne instalowanie 64-bitowej wersji MySQL.
  • Deinstalacja, usuwanie zawartości „C: \ program files \ MySQL” i „C: \ program files (x86) \ MySQL”, ponowna instalacja.
  • Sprawdzanie, czy nie ma nieuczciwych usług o nazwie MySQL ???? (z poprzedniej instalacji).
  • Sprawdzanie, czy port 3306 nie jest używany przez alternatywny program.
  • Zmiana domyślnego portu używanego przez MySQL.
  • Sprawdzanie „my.ini” i „my.ini.cnf” w „C: \ windows” (nic poza tym może spowodować problem).
  • Uruchamianie instalatora MySQL i kreatora konfiguracji w „trybie administratora”.
  • Wyłączanie UAC.
  • Instalowanie z ustawieniami domyślnymi, nic nie zmieniając.
  • Ponowne uruchomienie mojej maszyny (do tej pory około 6 restartów).
  • Otwieranie portu 3306 w zaporze (zarówno TCP, jak i UDP, przychodzące i wychodzące).
  • Przeklinanie klutza programisty, który zaprojektował MySQL, więc nie możesz go nawet zainstalować (jakby to pomogło!)

Moja maszyna działa w 100% pod każdym innym względem. InfiniDB (baza danych kompatybilna z MySQL) instaluje się w 100%, podobnie jak Visual Studio 2010, Microsoft SQL Server itp.

Twoja rada, jak obejść ten problem?

ps Oto ekran, który utknął na 15 minut, dopóki nie zabiłem procesu:

alternatywny tekst

Aktualizacja 2010-12-20

Wypróbowałem MySQL v5.1, ale też nie działał. To niesamowite - jeśli wpiszesz „mysqld /?” Lub „mysqld -help”, to ci nie pomoże. A jeśli spróbujesz ręcznie zrestartować usługę, nie wyświetli się żaden komunikat o błędzie. Czy to może być bardziej nieprzydatne?

Aktualizacja 2010-12-21

Zainstalowałem MySQL 6.0 alfa i działało. Wolałbym jednak nie używać wersji alfa, biorąc pod uwagę, że wersja „stabilna” jest inna niż :(

Aktualizacja 2010-12-21

Znaleziono http://dev.mysql.com/doc/refman/5.1/en/windows-trou Rozwiązywanie problemów.html, zajmujący się rozwiązywaniem problemów w systemie Windows.

Odkryto, że możesz wygenerować dziennik błędów, jeśli usługa się nie uruchomi - patrz tutaj: http://dev.mysql.com/doc/refman/5.1/en/error-log.html

Aktualizacja 2010-12-21

Aha! Trop. Aby faktycznie zobaczyć błąd, dodaj „--console”:

mysqld --console

Zwraca to:

101221 13:57:28 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use Windows interlocked functions
InnoDB: Compressed tables use zlib 1.2.3
101221 13:57:28  InnoDB: Initializing buffer pool, size = 203.0M
101221 13:57:28  InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file .\ib_logfile0 is of different size 0 56623104 bytes
InnoDB: than specified in the .cnf file 0 106954752 bytes!
101221 13:57:28 [ERROR] Plugin 'InnoDB' init function returned error.
101221 13:57:28 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
101221 13:57:28 [ERROR] Unknown/unsupported storage engine: INNODB
101221 13:57:28 [ERROR] Aborting
101221 13:57:28 [Note] mysqld: Shutdown complete

Aktualizacja 2010-12-21

Teraz instaluje się poprawnie. Zobacz odpowiedź poniżej.

Contango
źródło
W moim przypadku plik „my.ini” miał źle skonfigurowane ścieżki. Mam nadzieję, że pomoże to komuś innemu.
scepeda

Odpowiedzi:

11

Oto jak naprawiłem problem:

Krok 1: Domyślnie nie można znaleźć przyczyny niepowodzenia uruchomienia usługi. Powiedz więc, aby uruchomił się w trybie innym niż serwisowy, a błędy potoków do konsoli:

mysqld --console

Krok 2: W moim szczególnym przypadku musiałem usunąć zawartość:

C:\ProgramData\MySQL

... następnie zainstaluj ponownie. W instalatorze MySQL v5.5 występuje błąd: jeśli odinstalujesz MySQL v5.5, aby naprawić problem ze złą instalacją, nie wyczyści on C: \ ProgramData \ MySQL, co oznacza, że ​​nie można zainstalować MySQL v5.5 na od tego momentu, bez usuwania tego nieuczciwego katalogu.

Poradnik:

  • Upewnij się, że zabiłeś wszystkie wystąpienia „mysqld” na monitorze procesu.
  • Aby usunąć istniejące usługi, użyj polecenia „sc delete MYSQLxx”.

List otwarty do zespołu programistów MySQL w Oracle:

--- rozpocznij list otwarty do Oracle ---

Drogi zespole deweloperów MySQL w Oracle:

Jeśli po zainstalowaniu MySQL usługa się nie uruchomi, poinformuj nas, dlaczego (a) wskazuje nam kierunek dziennika błędów lub (b) wyświetla ten dziennik błędów.

Niezastosowanie się do tego rzuca Oracle w niekompetentne światło.

Z poważaniem,

Wszyscy, którzy instalują MySQL w systemie Windows.

--- koniec listu otwartego do Oracle ---

Contango
źródło
3

Zgadzam się z Gravitas, ale nie musisz przeprowadzać ponownej instalacji (szczególnie podczas instalowania MySQL
Server xx w innym folderze niż domyślny w C: / Program Files /).
Te kroki pomogły mi pomyślnie uruchomić usługę. Pracowałem w Win7 x64, więc zakładam, że x32 będzie dobrze :)

Otwórz plik „my.ini”, w którym jest zainstalowany MySQL Server xx (mój miał 5.5, ale 5.1 również jest OK).
Przejdź do wiersza, w którym jest napisane:

datadir=C:/ProgramData/MySQL/MySQL Server x.x/data-> (Jest to domyślna ścieżka)
Zmień powyższą linię na coś takiego:
datadir="<Drive_Letter>:/path/where/MySQL/is/installed/MySQL Server x.x/data/"

Skopiuj całą zawartość C:/ProgramData/MySQL/MySQL Server x.x/do nowo wyznaczonego katalogu danych
Z WYJĄTKIEM ib_logfile0 & ib_logfile1(przenieś je w inne miejsce jako kopię zapasową).
Usuń C:/ProgramData/MySQL/MySQL Server x.x/.
Uruchom ponownie MySQLInstanceConfig.
Sprawdź, TCP/IP networkingale NIE zmieniaj ustawień bezpieczeństwa ( nie zmieniaj ich).
Uruchom usługę ( ib_logfile(1,2)zostanie zregenerowana).

PS: Uruchom ponownie i wyczyść pliki tymczasowe - po ponownym uruchomieniu - za pomocą CCleaner. Z jakiegoś (dziwnego?) Powodu nie można połączyć się z MySQL DBMS z IDE lub MySQL Workbench CE xx po zastosowaniu powyższych ustawień do ponownego uruchomienia.

UWAGA: Edycja ustawień zabezpieczeń spowoduje zawieszenie się narzędzia konfiguracyjnego z powodu kolejnego błędu
wprowadzonego podczas włączania TCP / IP z innymi ustawieniami.

Mam nadzieję że to pomoże!

Kounavi
źródło
2

http://mydailytech.com/post/how-to-fix-mysql-error-1067/

sprawdź i kliknij powyższy link - powinien on rozwiązać tak jak w moim przypadku.

Mam nadzieję, że to pomaga

Rihatum
źródło
Przepraszamy, to nie rozwiązało problemu. Próbowałem nawet ponownie zainstalować go w C: \ MYSQL55 \ tylko po to, aby upewnić się, że długie nazwy plików nie zmieniają rzeczy, restartując komputer itp. Zaczynam się zastanawiać, czy MySQL w wersji 5.5 i wcześniejszej jest po prostu zepsuty w systemie Windows 7 x64?
Contango,
2

Cytat ze strony internetowej opublikowanej przez rigatum:

Jeśli instalujesz MySQL, jeśli instalujesz go w niestandardowym katalogu, musisz określić ścieżkę do pliku domyślnego, zanim będziesz mógł uruchomić MySQL lub zainstalować usługę MySQL, w przeciwnym razie pojawi się błąd 1067.

Najpierw otwórzmy wiersz poleceń. Przejdź do folderu instalacyjnego MySQL i znajdź gdziekolwiek jest plik mysqld.exe. Następnie uruchom to:

mysqld –remove MySql

Spowoduje to odinstalowanie usługi MySQL. Teraz zainstaluj ponownie usługę z parametrem pliku defaults:

mysqld –install <service name> –defaults-file=<full path of “my.ini” file>

Na przykład:

mysqld –install MySql –defaults-file=c:\mysql\my.ini

Ciesz się bezbłędną instalacją MySQL.

AliGibbs
źródło
Przepraszamy, to nie rozwiązało problemu. Próbowałem nawet ponownie zainstalować go w C: \ MYSQL55 \ tylko po to, aby upewnić się, że długie nazwy plików nie zmieniają rzeczy, restartując komputer itp. Zaczynam się zastanawiać, czy MySQL w wersji 5.5 i wcześniejszej jest po prostu zepsuty w systemie Windows 7 x64?
Contango,
1
nie, to wcale nie jest zepsute, mam go bezbłędnie działającego na 65 dev Windows 7 maszynach w pracy, 18 serwerach (zarówno nix, jak i Windows 2008R2), a na moich komputerach domowych mieszam Windows 2008 i siedem. myślę, że nie odinstalowuje czegoś poprawnie i dlatego w pewnym momencie się zacina - zdarzyło mi się to, ale to było dawno temu. Odinstalowałem, ręcznie usunąłem wszystkie katalogi mysql i usunąłem również instancję usługi z systemu Windows.
rihatum
2

I po prostu dodaję - w tym przypadku należy usunąć nie tylko programdata \ mysql, ale także folder innoDB: \ mysql datafiles

Tomas
źródło
2

Dla przypomnienia próbowałem kilka godzin, 5.5.20aby zainstalować Windows 2008 64bit. To się nigdy nie zacznie. Próbowałem każdy przykład, który można naprawić. W tym zaakceptowaną odpowiedź tutaj. Nigdy nie pracowałem

Więc obniżyłem do 5.1.61i działało jak mistrz. Pierwszy raz.

cbmeeks
źródło
2

To co zrobiłem było

  1. Gdy demon nie działa, zmieniam nazwę folderu danych w Program Data / MySQL na coś innego.
  2. Odinstaluj mysql z panelu sterowania
  3. Zainstaluj ponownie. Podczas konfigurowania ustawień bezpieczeństwa błąd kończy się błędem # 1045. Sprawdziłem, czy MySQL został zainstalowany jako usługa, a hasło roota było puste. Sprawdziłem to, uruchamiając narzędzie mysql bez nazwy użytkownika. Po wyświetleniu monitu o ponowienie lub pominięcie kliknąłem przycisk pomiń i kliknąłem przycisk wstecz, aż pojawi się okno dialogowe, w którym podajesz bieżące hasło roota i nowe hasło. Usuwam hasło w bieżącym polu hasła roota, ponieważ jest ono już puste i podałem moje nowe hasło roota. Konfiguracja przebiegła bez żadnych błędów
  4. Zatrzymaj usługę
  5. Skopiuj foldery bazy danych ze starego folderu danych, którego nazwa została zmieniona. Nie skopiowano plików dziennika i pliku ibdata.
  6. Wklej foldery do bieżącego (nowego) folderu danych.
  7. Uruchomiłem ponownie usługę
  8. Przetestuj w narzędziu mysql, aby zobaczyć, czy baza danych pokaże, co zrobił.

Btw, zrzuciłem bazę danych z mysqldump - wszystkie bazy danych na wszelki wypadek :)

Jojo Mendoza
źródło
2

Dodanie logiki innodb_flush_method=normaldo my.inipracy dla mnie. Korzystam z systemu Windows 7 x64 z systemem MySQL 5.7, przenosząc bazy danych na dysk twardy o pojemności 3 TB. Szybki przewodnik:

  1. Zatrzymaj usługę w wierszu polecenia systemu Windows za pomocą net stop sqlXX
  2. Skopiuj datafolder za pomocą poleceniaxcopy "C:\ProgramData\MySQL\MySQL Server X.X\data" "<new_directory>\data" /s
  3. W "<new_directory>\data"skasować ib_logfile0iib_logfile1
  4. Otwórz C:ProgramData\MySQL\MySQL Server X.X\my.ini, ustaw datadir="<new directory>/data", dodaj innodb_flush_method=normalu dołu pliku i zapisz
  5. Uruchom ponownie usługę za pomocą polecenia net start mysqlXX

Tutaj XX to numer wersji. Używam 5.7, więc użyłem net start mysql57.

Zgodnie z połączoną dyskusją domyślną wartością tego jest innodb_flush_method=unbuffered, która zależy od wielkości sektora 512 bajtów, co jest normalne w przypadku dysków twardych <2 TB. Jeśli dysk twardy jest większy niż 2 TB, zwykle jest formatowany przy użyciu sektorów 4096 bajtów, co powoduje błąd 1067.

Próbowałem też wszystkich powyższych i tylko to rozwiązało.

http://bugs.mysql.com/bug.php?id=28913

dcmorse
źródło