2010-11-11 35 views
18

Ich habe MySQL unter Windows 7 installiert. Wenn ich versuche, den MySQL-Dienst zu starten, erhalte ich den Fehler 1067: Der Prozess wurde unerwartet beendet. Log-Nachricht:1067 Fehler beim Versuch, MySQL zu starten

101111 22:27:11 [Note] Plugin 'FEDERATED' is disabled. 
C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Table 'mysql.plugin' doesn't exist 
101111 22:27:11 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 
InnoDB: Log scan progressed past the checkpoint lsn 0 37356 
101111 22:27:11 InnoDB: Database was not shut down normally! 
InnoDB: Starting crash recovery. 
InnoDB: Reading tablespace information from the .ibd files... 
InnoDB: Restoring possible half-written data pages from the doublewrite 
InnoDB: buffer... 
InnoDB: Doing recovery: scanned up to log sequence number 0 44233 
101111 22:27:11 InnoDB: Starting an apply batch of log records to the database... 
InnoDB: Progress in percents: 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed 
101111 22:27:12 InnoDB: Started; log sequence number 0 44233 
101111 22:27:12 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist 

Was kann ich dagegen tun?

Antwort

24

Die Lösung war, MySQL ohne Leerzeichen im Installationspfad zu installieren. Windows 7, 64-Bit

+0

Tank Sie !!!! Das funktioniert für mich! Windows 7, 32-bit – Makko

0

Überprüfen Sie die Datei "C: \ Programme \ MySQL \ MySQL Server 5.1 \ my.ini"

Die datadir Linie in my.ini einen Pfad angeben sollte. Überprüfen Sie den Inhalt dieses Datenpfadpfads. Enthält es einen Ordner namens "mysql" und einen anderen Ordner namens "test"?

Wenn nicht, sind hier zwei Möglichkeiten:

  1. Ändern der datadir Linie in my.ini an die richtige Stelle. Dies ist wahrscheinlich C: \ ProgramData \ MySQL \ MySQL Server 5.1 \ data

  2. Löschen Sie den vorhandenen Inhalt Ihres Datenpfad. Kopieren Sie den Inhalt der C: \ ProgramData \ MySQL \ MySQL Server 5.1 \ -Daten in Ihren Datenpfad. Neustart des MySQL-Dienstes sollte Ihre leere Datenbank neu erstellen.

+1

Ich sollte klarstellen, dass dieser Fehler passiert, wenn MySQL seine Datenbanktabellen nicht finden kann. Die Datadir-Zeile in my.ini gibt den Speicherort des Ordners MySQL-Datenbanktabellen an.Der MySQL-Datenbankordner sollte mindestens eine Datei ibdata1, ib_logfile0 und ib_logfile1 sowie einen Unterordner namens mysql enthalten. Dieser mysql-Unterordner sollte eine Reihe von Dateien mit den Erweiterungen .frm, .MYD und .MYI enthalten. In der Tat beschwert sich die Fehlermeldung "Tabelle 'mysql.host' existiert nicht" über die Datei mysql \ hosts.frm fehlt. – user281806

+0

Der Pfad zur Datei my.ini wird auch in den Eigenschaften für den MySQL-Dienst im Befehlszeilenargument "--defaults-file" für den MySQL-Dienst angegeben. Sie können diesen Wert überprüfen, indem Sie an der Eingabeaufforderung "sc qc mysql" (ohne Anführungszeichen) eingeben. Die Befehlszeile für den Dienst befindet sich im Abschnitt BINARY_PATH_NAME. – user281806

0

In meiner Instanz hatte es nichts mit Leerzeichen im Dateinamen zu tun. Ich habe die benutzerdefinierte Konfiguration des MSI-Installationsprogramms verwendet und die Standarddatenbanken ausgeschlossen, wenn ich annahm, dass es sich um Northwind/Adventureworks handelte. Nein, es enthält die Kern-MySql-Systemdatenbank ... sobald ich das zur Installation hinzugefügt habe, funktionierte es.

10

Die Lösung für das Problem für mich war in meinem Installationsverzeichnis zu suchen, den Ordner/Daten finden und kopieren Sie den Inhalt in den Datenordner, der in meiner .ini/.cnf Konfigurationsdatei angegeben wurde.

+0

Ihre Lösung wies mich auf die Lösung für mich hin: Aktualisieren Sie meine .ini/.cnf Konfigurationsdatei, um auf das richtige "Daten" Verzeichnis zu zeigen. Vielen Dank! – mginius

+0

RICHTIG. Ich musste den Inhalt von "C: \ Programme \ MySQL \ MySQL Server 5.7 \ data" nach "C: \ ProgramData \ MySQL \ MySQL Server 5.7 \ Data" verschieben. Sofort gearbeitet, das sollte der Installer gemacht haben. – Adambean

0

Ich lief in die gleichen Fehler. Ähnliche Vorgehensweise für mich. Von dem, was ich sagen kann, ist etwas seltsam mit dem Verweis auf das Datenverzeichnis in der Datei my.ini. Selbst wenn ich es manuell bearbeitet habe, konnte ich keinen Effekt darauf haben, bis ich ALLES VERWIESEN habe. Ich wünschte, ich hätte bessere Neuigkeiten ... zuerst ein DB-Backup machen.

Für mich ist der Schlüssel dies zu Arbeit zu bekommen war:

1) Panel die vorherige Installation entfernen von Einstellungen-> Kontrolle. Starten Sie Ihren Computer neu. 2) Sobald die Maschine wieder hochgefahren ist, löschen Sie das vorherige Installationsverzeichnis. [meins ist C: \ apps \ MySQL \ MySQLServer-5.5 \, wie ich C: \ Programm-Dateien verwenden VERWEIGERT. 3) erzwingen Sie das vorherige Datadir-Verzeichnis [mein war c: \ data \ mysql]. 4) Löschen Sie das vorherige Standarddatenverzeichnis [C: \ Dokumente und Einstellungen \ All
Benutzer \ Anwendungsdaten \ MySQL]. 5) Führen Sie die Installation erneut aus, wählen Sie das gleiche Installationsverzeichnis aus. Überspringen Sie die Instanz Konfigurator/Wizard am Ende der Installation. 6) Stellen Sie sicher, dass das Verzeichnis ../bin dem Pfad hinzugefügt wird. Überprüfen Sie es. 7) Führen Sie den Instanzkonfigurator/Assistenten manuell aus.
Legen Sie das Root-Passwort Port [3306] fest. Es wird versuchen, es zu starten. Wieder MEIN FAILED zu starten [duh! nichts neues da !!! ] 8) Bearbeiten Sie jetzt manuell die Meine.ini-Datei im Installationsverzeichnis, und korrigieren Sie die Einstellung für das Datenverzeichnis auf [Datadir = "C:/Data/MySQL /"] MATCH CAPITALIZATION !!!! 9) Überprüfen Sie, ob der Dienst über die Eingabeaufforderung [sc qc mysql] korrekt eingerichtet wurde.
sollte folgendermaßen aussehen:

C: \ dev \ cmdz> sc qc mysql [SC] GetServiceConfig ERFOLG

SERVICE_NAME: mysql TYP: 10 WIN32_OWN_PROCESS START_TYPE: 2 AUTO_START ERROR_CONTROL: 1 NORMAL BINARY_PATH_NAME : "C: \ apps \ MySQL \ MySQLServer-5.5 \ bin \ mysqld" --defaults-file = "C: \ apps \ MySQL \ MySQLServer-5.5 \ my.ini" MySQL LOAD_ORDER_GROUP: TAG: 0 DISPLAY_NAME: MySQL Abhängigkeiten: SERVICE_START_NAME: Local

10) Kopieren Sie den Inhalt des Standard-Datenverzeichnis unter C: \ Dokumente und Einstellungen \ All Users \ Anwendungsdaten \ MySQL [im Grunde alles, was in dieses Verzeichnis zu Ihrem gewünschten Datenverzeichnis c : \ data \ mysql]. Stellen Sie sicher, dass Sie das Verzeichnis C: \ Dokumente und Einstellungen \ Alle
Benutzer \ Anwendungsdaten \ MySQL \ mysql erhalten. Dies hat Host.frm Datei und andere. \ Data \ MySQL \ MySQL ...

11) Benennen Sie das Standardverzeichnis C: \ Dokumente und Einstellungen \ All Users \ Anwendungsdaten \ MySQL Um
Sie sollten mit einem Verzeichnis jetzt von c am Ende C: \ Dokumente und Einstellungen \ All Users \ Anwendungsdaten \ MySQLxxx So ist es es nicht finden können ...

12) Sprich ein schnelles Gebet ...

13) geben sie ihm einen Kick-Start von der Kommandozeile mit [net start mysql]

Das hat es für mich funktioniert ...

Best of Luck!

2

Ich hatte das gleiche Problem. In meinem Fall war es "Benutzerfehler" (obwohl der Windows-Installer schlauer hätte sein sollen und mich daran gehindert hätte, einen solchen Fehler zu begehen).

Wenn Sie während der Installation Änderungen an den Standardinstallationspfaden vornehmen, stellen Sie sicher, dass Sie die gleichen Pfade für die "Serverdatendateien" im Bildschirm "Benutzerdefiniertes Setup" und später in den "InnoDB Tablespace-Einstellungen" verwenden. MySQL Server-Konfigurations-Assistent“

2

ich hatte ein Problem der datadir in my.ini für Windows zu ändern 7.

ich die Daten wollte auf einem anderen Laufwerk gespeichert werden, und ich bewegte sich diese Daten von einem anderen PC Kopieren Sie den gesamten Ordner. Ich änderte das Datenverzeichnis auf das gewünschte Laufwerk und speicherte die Datei my.ini ohne Probleme.

Aber mysql würde nicht starten. Ich habe meine.ini-Datei erneut geöffnet und es schien sich geändert zu haben. Dann bemerkte ich das Datum auf der my.ini hatte sich nicht geändert. Also musste ich die Sicherheitsrechte ändern, um mir Schreibzugriff zu geben.

Diesmal als ich es gespeichert habe, änderte sich das Datum und mysql startete den Zugriff auf alle korrekten Daten.

0

in meinem Fall innodb_data_home_dir war nicht mehr richtig, weil ich einige Laufwerksbuchstaben um gemischt hatte, als ich ein neues Laufwerk zu meinem System hinzugefügt

0

In meinem Fall ich XAMPP ina eine zweite Scheibe auf meine Installation entpackt haben , "F". Als ich versuchte als Dienst anzufangen, war die Rückkehr "1067". Die Lösung bestand darin, my.ini zu bearbeiten und das Laufwerk "f:" in die Dateizeilen einzufügen. Es hat das Problem gelöst.

0

Das Problem sieht aus, als wären keine Daten im Verzeichnis vorhanden. Kopieren Sie mindestens das Verzeichnis mysql entweder aus Ihrem vorherigen Verzeichnis oder aus C: \ Programme \ MySQL \ MySQL Server 5.5 \ data. Und dann noch einmal versuchen.

0

Ich hatte den gleichen Fehler und wurde durch nicht standardmäßige Zeichen in den Protokolldateien Pfad verursacht. Um das zu beheben, habe ich die Datei my.ini config (in meinem Fall C:\ProgramData\MySQL\MySQL Server 5.6\my.ini) und die modifizierten Schlüssel und log-error gefunden. Danach konnte ich den MySQL-Dienst erfolgreich starten.

13

Eine weitere Sache, die verhindert, dass der mysqld-Windows-Dienst ausgeführt wird, ist, wenn Sie mysqld.exe bereits ausgeführt haben (aber nicht als Dienst).

Öffnen Sie einfach den Windows Task-Manager und suchen Sie auf der Registerkarte Prozesse nach "mysqld.exe". Wenn Sie es sehen, töten Sie es und versuchen Sie dann, den Dienst erneut zu starten.

c:\> net start [servicename] 

Beispiel: c:> net start MySQL

1

Bevor mit zu vielen Dingen in Unordnung, überprüfen Sie bitte den Benutzer des Dienst als versucht zu starten. In meinem Fall war es NETZWERK, das an einigen Stellen, an denen es benötigt wurde, keine Schreibrechte hatte. Das Ändern des Benutzers zum lokalen Systemkonto hat den Trick gemacht.

Wenn in der Ereignisanzeige ein Fehler wie "Testdatei C: \ Programme \ MySQL \ MySQL Server 5.6 \ data \ XXX.lower-test" nicht erstellt werden kann, ist die Wahrscheinlichkeit hoch, dass diese Lösung funktioniert . Viel Glück!

1

Ich habe mysql Datenordner durch eine Windows-Verzeichnis Junction ersetzt. Ich vermute, ib_logfile0/1 und/oder ibdata1 ist beschädigt.

Versuchen Sie einfach, diese Dateien und Computername.err zu löschen. Starten Sie dann den mysql-Dienst neu. Das habe ich gemacht, mit Erfolg.

Das Kopieren von ibdata1-Dateien nach einer vollständigen Neuinstallation von mysql in das junction dir und das Ersetzen von dir durch die Junction, das Neustarten von mysql, war nicht genug.

Sie müssen MySQL diese Dateien neu erstellen lassen.

3

Ich habe gerade ein ähnliches Problem festgestellt und ich habe festgestellt, dass es sich um ein Berechtigungsproblem handelt. Wenn ich die Datenbank "data" kopiere, muss ich die Erlaubnis für "NETWORK SERVICE" hinzufügen.

0

In meinem Fall hatte ich einen benutzerdefinierten Pfad für meine Log-Dateien im MySQL-Installer gewählt. Ich hatte die Log-Dateien in meinem Benutzer-Ordner C:\Users\%MY_USERACCOUNT%\Documents\mysql-logs, und standardmäßig NETWORK SERVICE (oder eine andere nicht-Administrator Useraccount in Windows) hat keinen Zugriff auf einen Benutzerordner.

Ich habe das behoben, indem ich die Sicherheitsoptionen für den Protokollordner änderte, indem ich die Rechte zum Lesen, Schreiben und Ändern von Rechten an NETWORK SERVICE änderte.

0

Ich habe auch mit Tabelle 'mysql.plugin' log nicht existiert, wenn MYSQL Server 5.1 von 'msiexec.exe' installieren DataDir ich als C setzen: \ MYSQL \ MySQL_Server_5_1 \ data \

aber zu meiner Überraschung war create data in einem C: \ MYSQL \ MySQL_Server_5_1 \ Daten \ Daten

Es gab Wort Daten. So wechsle ich my.ini von

datadir="C:/MySQL/MySQL_Server_5_1/Data/" . 

zur

datadir="C:/MySQL/MySQL_Server_5_1/Data/data" 

und dann kann ich net start MYSQL51 und dann mysqld.exe Lauf und erscheinen in einem Task-Manager

0

bei mysql log (.err-datei unter datenordner), konnte ich die folgenden

21:41:47 UTC - mysqld hat Ausnahme 0xc0000005; Dies könnte daran liegen, dass Sie einen Fehler gefunden haben. Es ist auch möglich, dass diese Binärdatei oder eine der Bibliotheken, mit denen sie verknüpft wurde, fehlerhaft, falsch aufgebaut, oder falsch konfiguriert ist. Dieser Fehler kann auch durch fehlerhafte Hardware verursacht werden. Der Versuch, einige Informationen zu sammeln, die bei der Diagnose des Problems helfen könnten. Da dies ein Unfall ist und etwas definitiv falsch ist, kann der Informationssammlungsvorgang fehlschlagen.

Ich erkannte, dass ich den Dienst begann, während ich usb einsteckte. Um ehrlich zu sein, wurde das Problem gelöst, nachdem ich meinen Rechner neu gestartet und den Dienst neu gestartet habe. Außerdem habe ich die Dateien ib_logfile0 und ib_logfile1 vor meinem Neustart entfernt. Obwohl das Ereignisprotokoll angezeigt „InnoDB: Ihre Datenbank ist möglicherweise beschädigt oder haben Sie vielleicht die InnoDB Tabellen aber nicht die InnoDB-Log-Dateien kopiert Bitte beachten Sie http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html Informationen

Blockquote

über die Genesung zu zwingen. .Weitere Informationen finden Sie im Hilfe- und Supportcenter unter http://www.mysql.com ", glaube ich nicht, weil ich nie irgendwelche Konfigurationen geändert habe.

0

Erfahrene den gleichen Fehler, unten ist der Grund und Lösung, die

Grund für mich, für mysql-5.7.14-winx64 gearbeitet: DATA Ordner einige Standard Ordner und Dateien zu haben, die

fehlten Lösung: Löschen Sie alles aus dem Ordner DATA, ich nehme an, es ist eine neue Installation, so dass alles, was Sie brauchen, wenn überhaupt. Dann führen Sie dies über die Eingabeaufforderung und es wird die erforderlichen Dateien und Ordner erstellen "mysqld --initialize --console" jetzt "mysqld" ausführen und es sollte gut funktionieren.

0

In meinem Fall hatte ich eine andere MySQL-Version installiert und läuft. Ich habe das gefunden, indem ich in die Datei mysql_error.log gegangen bin. Ich behebe dies, indem ich zu den Diensten gehe und die laufende MySQL-Version stoppe und ein Manual einrichte und die benötigte mysql starte.

-1

Wenn Sie versuchen, MySQL auf einem Windows 10-Installation mit einer GPT-Partition zu laufen, bitte versuchen Sie dies:

Todays Systeme oft auf einem Datenträger ausgeführt werden, die in GPT formatiert ist. Dies liegt daran, dass Windows 10 eine solche Partition benötigt, um installiert zu werden. Das Problem ist, dass MySql nicht mit diesem Partitionsstil umgehen kann und so abstürzt. Hier ist meine Abhilfe:

  • Erstellen einer virtuellen Festplatte: manual here
  • Format dieses VHD mit MBR
  • Installieren Sie MySQL- benutzerdefinierte auf Ihrem neuen VHD (vergessen Sie nicht, einen Benutzer für DB erstellen)

Das sollte es sein! :)

Referenz-Link: Issue with MySql installation on Windows 10

+0

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - [Aus Bewertung] (/ review/low-quality-posts/14976498) – Shawn

+0

in Ordnung, fertig. Vielen Dank! – Jan

0

Prüfen Sie auch, ob alle Verzeichnisse, die Sie im my.ini schrieb existiert.

Mein Problem war, dass tmpdir doeesn`t existieren so MySQL-Daemon mit Fehler fällt 1067.

[mysqld] 
port= 3306 
tmpdir = "C:/tmp" 

In diesem Fall C:/tmp Muss existiert.

3

Mein Problem passierte direkt nach einem Stromausfall. Ich habe den Fehler 1067 erhalten Der Prozess wurde unerwartet beendet. Unnötig zu sagen, dass MySQL nicht gestartet wurde. Die Antwort war einfach

  1. öffnen mysql Pfad \ data
  2. Entfernen (Löschen) sowohl ib_logfile0 und ib_logfile1.
  3. Starten Sie den Dienst
0

... ein altes ... trotzdem hatte ich das gleiche Problem mit MariaDB

In meinem Fall die meisten pathes Sonderzeichen enthalten wie: # Wrapping pathes in meinem. ini in Anführungszeichen hat den Trick gemacht - zB

datadir="C:/#windata64/db/MariaDB/data" 
0

In meinem Fall um einen schweren Schema von MySQL-Server zu löschen, ging einfach in C: \ Programme \ MySQL \ MySQL Server 5.7 \ Data und entsprechenden Ordner gelöscht. Aber es wurde nicht gelöscht, weil mysqld.exe es verhinderte. Also habe ich mysqld.exe gestoppt, den Ordner gelöscht und dann verschwanden alle Schemas aus der Liste in mysql workbench. Egal, wie viel ich versuchte, mysql-Dienst neu zu starten, es tat es nicht, es sei denn, ich habe diesen Ordner von Junk wiederhergestellt. Hoffe, es hilft jemandem, der die gleiche Abkürzung wie ich versuchte.

Verwandte Themen