webentwicklung-frage-antwort-db.com.de

1067 Fehler beim Versuch, MySQL zu starten

Ich habe MySQL unter Windows 7 installiert. Beim Starten des MySQL-Dienstes wird die Fehlermeldung 1067 angezeigt: Der Vorgang wurde unerwartet beendet. Protokollnachricht:

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 tun?

19
Eugene

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

24
Eugene

Eine weitere Sache, die verhindert, dass der mysqld-Windows-Dienst ausgeführt wird, ist, wenn mysqld.exe bereits ausgeführt wird (jedoch nicht als Dienst) und den Port 3306 belegt. Wenn der Dienst versucht, zu starten, dass der Port 3306 bereits belegt ist, schlägt der Dienst fehl.

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

c:\> net start [servicename]

beispiel: c: \> net start MySQL

15
TxRegex

Die Lösung des Problems bestand darin, in meinem Installationsverzeichnis nach dem Ordner/data zu suchen und dessen Inhalt in den Datenordner zu kopieren, der in meiner .ini/.cnf-Konfigurationsdatei angegeben war. 

10
MrMan

Mein Problem trat sofort nach einem Stromausfall auf. Ich habe den Fehler 1067 Der Prozess wurde unerwartet beendet. MySQL hat natürlich nicht angefangen. Die Antwort war einfach

  1. Öffnen Sie den MySQL-Pfad\Daten
  2. Entferne (lösche) sowohl ib_logfile0 als auch ib_logfile1.
  3. Starten Sie den Dienst
6
Sean

Ich bin gerade auf ein ähnliches Problem gestoßen und habe festgestellt, dass es sich um ein Erlaubnisproblem handelt. Wenn ich die Datenbank "Daten" kopiere, muss ich die Berechtigung für "NETWORK SERVICE" hinzufügen.

3
Eric Chan

Ich hatte ein Problem beim Ändern des Datums in my.ini für Windows 7. 

Ich wollte, dass die Daten auf einem anderen Laufwerk gespeichert werden, und ich habe diese Daten von einem anderen PC durch Kopieren des gesamten Ordners verschoben. Ich habe das datadir auf das gewünschte Laufwerk geändert und die my.ini-Datei ohne Probleme gespeichert.

Aber MySQL würde nicht starten. Ich öffnete meine.ini-Datei erneut und es schien, als wäre sie geändert worden ... Dann bemerkte ich, dass sich das Datum auf der my.ini nicht geändert hatte. Also musste ich die Sicherheitsrechte ändern, um mir Schreibzugriff darauf zu gewähren.

Als ich diesmal gespeichert habe, hat sich das Datum geändert und mysql hat Zugriff auf alle korrekten Daten erhalten.

2
sam owens

Ich hatte das gleiche Problem. In meinem Fall handelte es sich um "Benutzerfehler" (obwohl das Windows-Installationsprogramm klüger sein sollte und mich daran hinderte, einen solchen Fehler zu begehen).

Wenn Sie während der Installation Änderungen an den Standardinstallationspfaden vornehmen, stellen Sie sicher, dass Sie dieselben Pfade für "Server-Datendateien" im Bildschirm "Benutzerdefiniertes Setup" und später in den "InnoDB-Tablespace-Einstellungen" während der "MySQL Server-Instanzkonfiguration" verwenden Magier"

2
Cesar

Bevor Sie sich mit zu vielen Dingen beschäftigen, überprüfen Sie den Benutzer, unter dem der Dienst ausgeführt werden soll. In meinem Fall war es NETWORK. Dieses hatte keine Schreibberechtigung für einige Standorte, an denen es benötigt wurde. Den Benutzer zu lokalem Systemkonto zu ändern hat den Trick getan. 

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

1

Ich habe den MySQL-Datenordner durch eine Windows-Verzeichnis-Junction ersetzt.

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

Es war nicht genug, ibdata1-Dateien nach einer vollständigen Neuinstallation von mysql in das Junction-Verzeichnis zu kopieren und das Verzeichnis durch die Junction zu ersetzen.

Sie müssen diese Dateien von mysql neu erstellen lassen.

1
skyrail

In meinem Fall habe ich XAMPP in einer zweiten Diskette "F" entpackt. Als ich versuchte, als Service zu starten, war die Rückgabe "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
Joao Goulart

beim Betrachten von Mysql Log (.err-Datei unter Datenordner) konnte ich Folgendes sehen 

21:41:47 UTC - mysqld hat die Ausnahme 0xc0000005; .__ erhalten. Dies kann daran liegen, dass Sie einen Fehler gefunden haben. Es ist auch möglich, dass diese binäre Oder eine der Bibliotheken, mit denen sie verknüpft wurde, beschädigt, falsch gebaut, Oder falsch konfiguriert ist. Dieser Fehler kann auch durch fehlerhafte Hardware verursacht werden. Versuch, einige Informationen zu sammeln, die bei der Diagnose des Problems hilfreich sein könnten .. Da dies ein Absturz ist und etwas definitiv falsch ist, schlägt der Prozess der Sammlung von Informationen möglicherweise fehl.

Mir wurde klar, dass ich den Service startete, während ich USB steckte. Um ehrlich zu sein, wurde das Problem behoben, nachdem ich meinen Computer neu gestartet und den Dienst neu gestartet hatte. Zusätzlich habe ich vor meinem Neustart die Dateien ib_logfile0 und ib_logfile1 entfernt. Der Ereignisprotokollierer gab zwar an: "InnoDB: Ihre Datenbank ist möglicherweise beschädigt oder Sie haben den InnoDB-Tabellenbereich kopiert, nicht jedoch die InnoDB-Protokolldateien. Weitere Informationen finden Sie unter http://dev.mysql.com/doc/refman/5.7/de /forcing-innodb-recovery.html zur Information 

Blockquote

weitere Informationen finden Sie im Hilfe- und Supportcenter unter http://www.mysql.com ". Ich glaube nicht, weil ich nie irgendwelche Konfigurationen geändert habe. 

0

Ich hatte den gleichen Fehler und es wurde durch nicht standardmäßige Zeichen im Pfad der Protokolldateien ..__ verursacht. Um das Problem zu beheben, fand ich meine.ini-Konfigurationsdatei (in meinem Fall C:\ProgramData\MySQL\MySQL Server 5.6\my.ini) und modifizierte Schlüssel slow_query_log_file und log-error. . Danach konnte ich den MySQL-Dienst erfolgreich starten.

0
mordka

In meinem Fall hatte ich im MySQL-Installationsprogramm einen benutzerdefinierten Pfad für meine Protokolldateien ausgewählt. Ich hatte die Protokolldateien in meinem Benutzerordner C:\Users\%MY_USERACCOUNT%\Documents\mysql-logs abgelegt, und standardmäßig hat NETWORK SERVICE (oder ein anderer Nicht-Administrator-Benutzerkonto in Windows) keinen Zugriff auf den Ordner eines Benutzers.

Ich habe das Problem behoben, indem ich die Sicherheitsoptionen für den Protokollordner geändert und die Änderungsrechte für Lese-/Schreib-/Änderungsrechte für NETWORK SERVICE erteilt habe.

Um ein umfangreiches Schema vom MySQL-Server zu löschen, gehen Sie einfach zu C:\ProgramData\MySQL\MySQL Server 5.7\Data und löschen Sie den entsprechenden Ordner. Es wurde jedoch nicht gelöscht, weil mysqld.exe dies verhindert hat. Also stoppte ich mysqld.exe, löschte den Ordner und dann verschwanden alle Schemas von der Liste in der mysql workbench. Egal, wie sehr ich versucht habe, den mysql-Dienst neu zu starten, es tat nichts, bis ich den Ordner aus Junk wiederhergestellt habe. Ich hoffe, es hilft jemandem, der dieselbe Verknüpfung versucht hat wie ich.

0
Fadia Jabeen

Erlebte den gleichen Fehler, unten ist der Grund und die Lösung, die bei mir für mysql-5.7.14-winx64 funktionierten

grund: DATA-Ordner, um einige Standardordner und Dateien zu haben, die fehlten

solution : lösche alles aus dem DATA-Ordner. Ich gehe davon aus, dass es sich um eine Neuinstallation handelt. Backup also alles, was du brauchst, wenn überhaupt. Dann führen Sie dies über den Befehl Prompt aus und es erstellt die erforderlichen Dateien und Ordner "Mysqld --initialize --console" Führen Sie nun "mysqld" aus und es sollte funktionieren.

0

in meinem Fall war innodb_data_home_dir nicht mehr korrekt, da ich einige Laufwerksbuchstaben herumgemischt hatte, als ich meinem System ein neues Laufwerk hinzugefügt hatte

0
Michael White

Überprüfen Sie auch, ob alle Verzeichnisse vorhanden sind, die Sie in my.ini geschrieben haben.

Mein Problem war, dass tmpdir doeesn`t nicht existiert, so dass der MySQL-Daemon auf Fehler 1067 fällt.

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

In diesem Fall muss C:/tmp vorhanden sein.

0
pulzarraider

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

Die Zeile datadir in my.ini sollte einen Pfad angeben. Überprüfen Sie den Inhalt dieses Datenpfads. Enthält es einen Ordner mit dem Namen "mysql" und einen anderen Ordner mit dem Namen "test"?

Wenn nicht, gibt es zwei Möglichkeiten:

  1. Ändern Sie die Datenzeile in my.ini an den richtigen Ort. Dies wird wahrscheinlich C:\ProgramData\MySQL\MySQL Server 5.1\data sein

  2. Bereinigen Sie den vorhandenen Inhalt Ihres Datenpfad. Kopieren Sie den Inhalt der Daten C:\ProgramData\MySQL\MySQL Server 5.1\in Ihren Datenpfad. Wenn Sie den mysql-Dienst neu starten, wird die leere Datenbank neu erstellt.

0
user281806

In meinem Fall hatte ich eine andere MySQL-Version, die installiert war und ausgeführt wurde. Ich fand dies, indem ich in die Datei mysql_error.log ging. Ich behebe das, indem ich zu den Diensten gehe und die laufende MySQL-Version stoppe und ein Handbuch aufstelle , und starten Sie die MySQL benötigt.

0
Jessica

Ich bekomme auch ein Protokoll mit der Tabelle 'mysql.plugin' existiert nicht Wenn MYSQL Server 5.1 von 'msiexec.exe' installiert wird DataDir habe ich als C:\MYSQL\MySQL_Server_5_1\data\eingetragen

aber zu meiner Überraschung war das Erstellen von Daten in einem C:\MYSQL\MySQL_Server_5_1\data\data

Es gab ein Add Word Daten. Also ändere ich meine.ini-Datei aus 

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

zum 

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

und dann kann ich .__ verwenden. net start MYSQL51 und dann mysqld.exe ausgeführt und in einem Task-Manager angezeigt 

0
SP9AUV

Ich verwende MariaDB (MySQL-kompatibel) lokal auf zwei Computern. Ich bin nicht sicher, was den Fehler veranlasst hat und nichts, was ich versucht habe, hat funktioniert. Also stoppte ich den Dienst, löschte alles im MariaDB-Verzeichnis (außer dem Datenverzeichnis) und kopierte die Dateien von meinem sekundären Rechner. Alles funktioniert gut genug, soweit ich das beurteilen kann.

Für einen Live-Server wäre es ein bisschen anders und ein Super-Guru ist vielleicht in der Lage, einen Einblick-Kommentar hinzuzufügen (z. B. könnte etwas außerhalb des Datenverzeichnisses etwas mit der Verhinderung von Datenbeschädigung oder Indizes im Beispiel zu tun haben? ). Ich würde den Dienst einfach anhalten und das gesamte Verzeichnis einmal im Monat oder so kopieren und dann den Dienst erneut starten.

0
John

In meinem Fall hatte das nichts mit Leerzeichen im Dateinamen zu tun. Ich habe die benutzerdefinierte Konfiguration des MSI-Installationsprogramms verwendet und entschied mich für den Ausschluss der Standarddatenbanken, vorausgesetzt, es handelte sich nur um Northwind/Adventureworks. Nein, es enthält die Kerndatenbank von MySql ... Sobald ich das zur Installation hinzugefügt habe, funktionierte es.

0
nathanchere

Ich bin auf die gleichen Fehler gestoßen. Ähnliches Vorgehen für mich. Soweit ich das beurteilen kann, passiert etwas Seltsames mit dem Verweis auf das Datum in der Datei my.ini. Selbst wenn ich es manuell editierte, schien ich keinen Einfluss darauf zu haben, bis ich ALLES WEG geblasen habe. Ich wünschte, ich hätte bessere Nachrichten ... machen Sie zuerst ein DB-Backup. 

Für mich war der Schlüssel, um dies zum Laufen zu bringen:

1) Entfernen Sie die vorherige Installation von Einstellungen-> Systemsteuerung. Starten Sie den Computer neu . 2) Wenn der Computer wieder hochgefahren ist, löschen Sie das vorherige Installationsverzeichnis mit Gewalt. [Mein Name ist C:\apps\MySQL\MySQLServer-5.5 \, da ich mich weigere, c:\program files ...__ zu verwenden. 3) Löschen Sie das vorherige Verzeichnis datadir [mein Name war c:\data\mysql] 4) Löschen Sie das vorherige Standarddatenverzeichnis [C:\Documents and Settings\All
Benutzer\Anwendungsdaten\MySQL] ..__ 5) Führen Sie die Installation erneut aus und wählen Sie dasselbe Installationsverzeichnis. Überspringen Sie die Instanz Konfigurator/Assistent 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 fest, Port [3306] . Es wird versucht, es zu starten. Wieder begann meine nicht zu starten [duh! nichts Neues da !!! ] 8) Bearbeiten Sie nun die Datei my.ini im Installationsverzeichnis manuell und korrigieren Sie das Datum Einstellung auf [datadir = "C:/Data/MySQL /"] MATCH CAPITALIZATION !!!! 9) Überprüfen Sie, ob der Dienst ordnungsgemäß eingerichtet ist, und zwar über die Befehlszeile [sc qc mysql].
Sollte aussehen, wie:

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

SERVICE_NAME: mysql TYPE: 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: LocalSystem

10) Kopieren Sie den Inhalt des unter .__ erstellten Standarddatenverzeichnisses. C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\MySQL [im Grunde alles in dieses Verzeichnis zu Ihrem gewünschten Datenverzeichnis c:\data\mysql]. Stellen Sie sicher, dass Sie C:\Documents and Settings\All erhalten
Verzeichnis "Users\Application Data\MySQL\mysql". Dies hat die Host.frm-Datei und andere.
Sie sollten jetzt ein Verzeichnis mit dem Namen c:\data\MySQL\mysql haben ...

11) Benennen Sie das Standardverzeichnis um C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\MySQL Zu C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\MySQLxxx So kann es nicht finden ... 

12) Sprich ein kurzes Gebet ...

13) Starten Sie von der Kommandozeile aus mit [net start mysql] einen Kickstart

Das hat es für mich funktioniert ...

Viel Glück!

0
eric manley

... eine alte ... sowieso hatte ich das gleiche Problem mit MariaDB

In meinem Fall enthalten die meisten Pfade Sonderzeichen wie: # Das Einschließen von Pfaden in my.ini in doppelte Anführungszeichen machte den Trick - z.

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

Das Problem sieht so aus, als ob keine Daten im Verzeichnis vorhanden sind. Kopieren Sie mindestens das Verzeichnis mysql aus Ihrem vorherigen Verzeichnis oder aus C:\Programme\MySQL\MySQL Server 5.5\data .. und versuchen Sie es erneut.

0
Roman M