Der MySQL-Dienst auf dem lokalen Computer wurde gestartet und dann gestoppt

73

Der MySQL-Dienst auf dem lokalen Computer wurde gestartet und dann gestoppt. Einige Dienste werden automatisch beendet, wenn sie nicht von anderen Diensten oder Programmen verwendet werden.

Kann jemand dieses Problem beheben? Vielen Dank.

Kem Bardly
quelle

Antworten:

117

Nach der Installation von mysqld --install. Versuchen Sie dies mysqld --initialize. Wir haben das gleiche Problem, aber es funktioniert jetzt.

Alexa
quelle
9
@ Tunaki. Wir müssen die Eingabeaufforderung als Administrator öffnen, um die Befehle mysqld --install und mysqld --initialize ausführen zu können.
Pankaj Shinde
2
Wenn einfach nicht funktioniert, dann: bin \ mysqld --initialize-unsicher (und latare add root password)
danielpopa
Nach der Verwendung von mysqld --initialize Suche nach Root-Passwort in der MySQL-Fehlerprotokolldatei würde die Zeile folgendermaßen aussehen: Ein temporäres Passwort wird für root @ localhost generiert: Ok + ju; UT8% ED
Alex Khimich
Ich hatte diesen MYSQL80Service schon einmal genutzt. Irgendwie startet es nicht, ich starte es normalerweise manuell über Services, aber jetzt funktioniert es nicht mehr
Waseem Ahmad Naeem
1
cmdals Administrator geöffnet , die Befehle ausgeführt mysqld --installund mysqld -- initialize. Dann mysqlin Diensten geöffnet und den Dienst gestartet. Es hat so funktioniert
am
41

Wenn Sie Version 8 verwenden und die Datei my.ini bearbeiten, habe ich festgestellt, dass Notepad 3 Hex-Zeichen am Anfang der Datei my.ini einfügt. EF BB BF. Das Löschen der 3 Zeichen vom Anfang der Datei in einem Hex-Editor behebt das Problem.

In Version 8 werden versehentlich Unicode-Zeichen in die INI-Datei eingefügt. Dies führt dazu, dass Notepad die Datei mit Byte-Bestellmarkenzeichen speichert.

Die folgende Zeile in der Datei ist der Schuldige. "Die Zeile # reicht von 1 bis 2 ^ 32 - 1." Eindeutig "bedeutet, dass jede ID unterschiedlich sein muss." hat 3 Unicode-Zeichen. Dies führt dazu, dass der Editor das Byte-Ordnungszeichen an die Textdatei anfügt.

jhersey29
quelle
2
Du rettest meinen Tag. Vielen Dank!
Plugie
1
Großartig, das war genau mein Problem!
Ffenix
Hat auch für mich gearbeitet. Vielen Dank!
Pavel M.
4
Es gab keine führenden oder nachfolgenden zusätzlichen Zeichen, die ich sehen kann. Ich habe jedoch die Datei my.ini in die Datei my_old.ini umbenannt, den Inhalt von my_old.ini manuell in my.ini kopiert und der Server gestartet!
Junior
7
Sie können die ANSI-Codierung auch im Dialogfeld "Speichern unter ..." auswählen und die folgende Warnung ignorieren. Danke für den Tipp!
Bspoel
25

Denken Sie auch daran, dem Ordner die Berechtigung NETWORK SERVICE zu erteilen:

  1. Klicken Sie mit der rechten Maustaste auf den DataOrdner
  2. Wählen Properties
  3. Wählen Sie SecurityRegisterkarte
  4. Klicken Advanced
  5. Klicken Change Permissions...
  6. Klicken Add...
  7. Art NETWORK SERVICE
  8. Klicken Check Names
  9. Klicken OK
  10. Wählen Full Control
  11. Klicken Sie OK- viermal
  12. Starten Sie den MySQL-Dienst
Warwick
quelle
4
Fast 2 Stunden und das Einrichten von Berechtigungen in Windows haben den Trick getan, ich dachte nicht, dass dies ein Problem sein könnte, da es überhaupt keine solche Anzeige gab.
Vielen
Ich musste auch sicherstellen, dass der MySQL-Dienst danach ein "Netzwerkdienst" -Konto ist.
Nae
9

In meinem Fall habe ich versucht, eine DOS-Eingabeaufforderung zu öffnen, in das MySQL- bin\Verzeichnis zu wechseln und den folgenden Befehl auszuführen:

mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --standalone --console

Und es zeigt mir, dass mir der "C:\Program Files\MySQL\MySQL Server 5.0\Uploads"Ordner gefehlt hat ; Ich habe einen gebaut und das Problem gelöst.

Han Xiong
quelle
Nachdem ich mit vielen Berechtigungseinstellungen herumgespielt hatte, stellte sich heraus, dass meine ini / cnf-Datei einen falschen Laufwerksbuchstaben enthielt. Diese Antwort hat mir geholfen.
PadraigD
Bei Verwendung der obigen Abfrage Try1 wurde Folgendes angezeigt : "Betriebssystemfehler Nummer 32 bei einer Dateivorgang. [FEHLER] [MY-012615] Der Fehler bedeutet, dass ein anderes Programm die Dateien von InnoDB verwendet. Dies kann eine Sicherungs- oder Antivirensoftware sein oder eine andere Instanz von MySQL. ". Bei Verwendung der obigen Abfrage Try2 wurde die Wiederherstellung nach einem Absturz gestartet und erfolgreich gestartet :)
Himalaya Garg
6
  1. Öffnen Sie den Dienst
  2. Klicken Sie mit der rechten Maustaste auf den MYSQL-Dienst
  3. Wählen Sie Anmelden
  4. Überprüfen Sie das lokale Systemkonto
  5. Dienst starten
Maninderpal Singh
quelle
Löschen Sie Ihre doppelte Antwort unten.
Farhana
2

Dies kann an einer Änderung liegen, lower_case_table_namesnachdem ein Server bereits initialisiert wurde.

Aus den Dokumenten:

Kleinbuchstaben_Tabellennamen können nur bei der Initialisierung des Servers konfiguriert werden. Das Ändern der Einstellung für Kleinbuchstaben_Tabellennamen nach der Initialisierung des Servers ist nicht zulässig.

Die Lösung für dieses Problem besteht darin, die lower_case_table_namesParameter bei der Serverinstallation wie in der folgenden Antwort beschrieben festzulegen:

In MySQL 8.x unter Windows 10 können keine Kleinbuchstaben-Tabellennamen festgelegt werden

vulp
quelle
2

Nichts hat bei mir funktioniert, aber dann habe ich hier nachgesehen . Ich habe diesen Befehl ausgeführt qc sc mysql57und den Wert BINARY_PATH_NAMEvon daraus kopiert . Danach überprüfte ich dies und den Wert geändert lower_case_table_namesvon 0 bis 2 in my.iniDatei. Dann habe ich in der Eingabeaufforderung diesen Befehl ausgeführt - << BINARY_PATH_NAME >> --install-manual. Danach habe ich den MySQL57-Dienst gestartet und es hat funktioniert.

Germa Vinsmoke
quelle
2

Verwenden von Community 8.0.17, aktualisiert von 8.0.16

Es mag einen sichereren Weg geben, dies zu tun, aber da ich nur eine Entwicklungsbox verwende:

  1. Navigieren Sie zum Ordner \ data
  2. Stellen Sie sicher, dass der Ordner \ data leer ist. Wenn Dateien vorhanden sind, schlägt die Option --initialize fehl
  3. Geben Sie SYSTEM Full Control-Berechtigungen für den Ordner \ data
  4. Gehen Sie zurück zu Ihrer Eingabeaufforderung
  5. Führen Sie mysqld --initialize aus

Sie sollten jetzt alle erforderlichen Datendateistrukturen im Datenordner sehen. Wenn sie nicht erstellt werden, hat der mysqld-Prozess einen Konflikt oder eine unangemessene Sicherheit, um korrekt in den Ordner zu schreiben.

Starten Sie nun Ihren benannten Dienst auf die von Ihnen gewünschte Weise (SC / NET / service.msc usw.).

Angenommen, alle Dateien wurden ordnungsgemäß erstellt, indem --initialize den Dienst startet.

Tom Anderson
quelle
2

Dieses Problem ist so kompliziert und hängt von der MySQL-Version ab. Mein Problem ist unter MySQL 8.0.2 aufgetreten. Wenn ich meine.ini-Datei auf dem Editor konfiguriert und gespeichert habe. Ich habe folgende @ jhersey29-Lösung https://stackoverflow.com/a/55519014/1764354, aber wenig andere Vorgehensweise.

Meine Lösung besteht darin, die Datei my.ini wiederherzustellen und den Konfigurationswert über Optionsdateien in der WorkBench-Anwendung zu bearbeiten. Beispiel für das workBench-Menü

tleaha
quelle
1

Benennen oder löschen Sie den Ordner unter,

C: \ ProgramData \ MySQL \ MySQL Server 5.7

Änderung des Ordnernamens gemäß Ihrer MYSQL- Versionsnummer.

John Sooraj Xavier
quelle
1

Dieser Fehler trat in meinem Fall auf, als Secure-File-Priv auf einen nicht vorhandenen Ordner zeigte. Stellen Sie sicher, dass dieser vorhanden und lesbar ist.

Das Beispiel für eine Codezeile in my.ini: secure-file-priv="D:/MySQL/uploads"

Alex Khimich
quelle
Ja, auch hier ist dies das Problem, wenn Sie das Datenverzeichnis des neueren MySQL verschieben und dabei auch das Upload-Verzeichnis verschieben.
J Rao
1

Befolgen Sie die nachstehenden Anweisungen, um Ihren Tag zu retten:

Wenn Sie my.ini nicht korrekt ändern, wird das Problem "Der MySQL-Dienst auf dem lokalen Computer wurde gestartet und dann gestoppt" angezeigt. Sie müssen Ihre my.ini also erneut unter "C: \ ProgramData \ MySQL \ MySQL Server 8.0 \ my.ini" überprüfen, um sicherzustellen, dass kein seltsamer Befehl vorhanden ist. Wenn Sie das Original nicht kennen und wiederherstellen möchten, können Sie im Web mit dem Schlüsselwort "my.ini configuration" suchen , das neueste herunterladen und in "C: \ ProgramData \ MySQL \ MySQL Server 8.0 \ my.ini" kopieren ""

Für wen Sie den SQL-Dienst unter Windows oder Linux löschen, können Sie die folgenden Schritte ausführen:

(Fenster)

Aktuellen Dienst löschen

Sie müssen MySQL80 / MySQLXX in Service stoppen, bevor Sie die folgende Aktion ausführen können: Öffnen Sie die Befehlszeile von Window und führen Sie sie als Administrator aus

sc delete mysql80 <= Wenn Sie mysql80 verwenden, wird MySQL80 in Service gelöscht

sc delete mysql <= Wenn Sie "mysql --initliaze" verwenden, wird MySQL in Service gelöscht

Der Befehl mysqld --initialize erstellt einfach MySQL im Dienst von Windows oder Linux

Wenn Sie also Path Executable aktivieren, fehlt my.ini, sodass Sie MySQL Server nicht verwenden können, obwohl MySQL Service funktioniert

Für MySQL80

"C: \ Programme \ MySQL \ MySQL Server 8.0 \ bin \ mysqld.exe" - MySQL80 installieren --defaults-file = "C: \ ProgramData \ MySQL \ MySQL Server 8.0 \ my.ini"

Für MySQLXX

"C: \ Programme \ MySQL \ MySQL Server XX \ bin \ mysqld.exe" - MySQLXX installieren --defaults-file = "C: \ ProgramData \ MySQL \ MySQL Server XX \ my.ini"

=> Es wird ein MySQLXX-Dienst erstellt, der mit my.ini arbeitet

Dann funktioniert MySQL normal und Sie müssen MySQL nicht erneut installieren.

Ich benutze kein Linux oder Mac, daher kann ich keine Anweisungen geben. Die Antwort finden Sie oben als Referenz

PhuVu94
quelle
0

In meinem Fall wurde mysqld ohne Fehlermeldung gestartet und gestoppt. Ich musste die Eingabeaufforderung mit "Als Administrator ausführen" öffnen und dann mysqld ausführen.

Ich mache das nur für die vorübergehende Entwicklung. Ich würde auf keinen Fall empfehlen, MySQL als Administrator auszuführen.

Dies war der letzte Schritt nach der obigen Fehlerbehebung.

Robert Allurent
quelle
0

Suchen Sie nach services.msc und durchsuchen Sie Ihre Dienste, die ausgeführt werden, wenn bereits ein anderer MySQL-Dienst als der von Ihnen gewünschte (z. B. xampp oder wamp) oder ein anderer Dienst (z. B. Skype) über denselben Port ausgeführt wird als MySQL und beenden Sie den Dienst, damit Sie Ihren MySQL-Dienst ausführen können.

Simbarashe Mupfururirwa
quelle
0

Ich hatte dieses Problem, nachdem meine Datenbank lange Zeit einwandfrei funktioniert hatte. Es stellte sich heraus, dass es sich um eine Datenbeschädigung handelte.

Im Fehlerprotokoll hatte ich:

2017-02-07T10:11:42.270567Z 0 [ERROR] InnoDB: Ignoring the redo log due to missing MLOG_CHECKPOINT between the checkpoint 44002250712 and the end 44002250240.
2017-02-07T10:11:42.270606Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2017-02-07T10:11:42.577436Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2017-02-07T10:11:42.577470Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2017-02-07T10:11:42.577484Z 0 [ERROR] Failed to initialize plugins.
2017-02-07T10:11:42.577488Z 0 [ERROR] Aborting

Dann musste ich die 2 ib_logfile * -Dateien löschen und es wurde neu gestartet.

Aris
quelle
0

Möglicherweise haben Sie auch versehentlich einen falschen Text in die my.iniDatei eingefügt . Stellen Sie sicher, dass am Anfang der Datei kein ungültiges Zeichen hinzugefügt wird.

Srihari Karanth
quelle
0

Löschen oder benennen Sie die beiden folgenden Dateien aus "C: \ ProgramData \ MySQL \ MySQL Server 5.7 \ Data" um: ib_logfile0 ib_logfile1

Wolf
quelle
0

Ich sehe diesen Fehler, wenn ich MySQL 8.x installiere, das max_allowed_packet in der Datei my.ini bearbeite und dann mysql auf einem Windows 10-Computer neu starte. Um dieses Problem zu vermeiden, empfehle ich, die Datei my.ini in einem Hex-Editor (so etwas wie Frhed) zu bearbeiten. NICHT NOTEPAD VERWENDEN. Es hat etwas mit dem Hex-Layout der INI-Datei zu tun.

Wes Henderson
quelle
0

Das gleiche Problem ist auch bei mir aufgetreten, nichts hat funktioniert ... Ich habe zuerst den Dienst (in meinem Fall MySQL80 und MySQL) per Befehl gelöscht:

sc delete MySQL80
sc delete MySql

und dann MySQL neu installiert. Meins war MySQL 8.0. Und dann war alles wieder normal.

John
quelle
0

Der MySQL-Dienst auf dem lokalen Computer wurde gestartet und dann gestoppt

Dieser Fehler tritt auf, wenn Sie my.ini in C: \ ProgramData \ MySQL \ MySQL Server 8.0 \ my.ini nicht korrekt geändert haben.

Sie können die ursprüngliche Konfiguration von my.ini durchsuchen oder Ihre überprüfen, um sicherzustellen, dass alles in Ordnung ist

PhuVu94
quelle
0

Wenn Sie bei der Installation von WAMP64 unter Windows 10 darauf gestoßen sind. Überprüfen Sie, ob der Datenordner im MySQL-Ordner fehlt. Bei der Installation meiner WAMP 3.2.3-Version konnte ein solcher Ordner nicht erstellt werden. Das Wamp-Symbol war also orange (1 von 2 laufenden Diensten).

Eine schnelle Lösung bestand darin, diesen Befehl vom MySQL-Speicherort aus auszuführen.

C:\wamp64\bin\mysql\mysql5.7.31\bin\
mysqld --initialize-insecure
SMJ
quelle
0

Keine der oben genannten Funktionen funktioniert tatsächlich. Löschen Sie MySQL, installieren Sie MySQL neu und stellen Sie sie gegebenenfalls wieder her

Pushkar Shrivastava
quelle
-1

mysqld --initialize

Führen Sie die obigen Schritte nach dem Installationsbefehl aus. Versuchen Sie dann, den Dienst zu starten - das sollte funktionieren.

PraSanVar
quelle
-2

Wenn Sie das Datenverzeichnis (den Pfad zum Datenbankstamm in my.ini) auf eine externe Festplatte geändert haben, stellen Sie sicher, dass die Festplatte verbunden ist.

Ehsan
quelle
Hallo Ehsan. In der Frage wurde nicht erwähnt, dass sie ein externes Laufwerk verwenden. Es ist also unwahrscheinlich, dass dies das Problem ist.
Diego Malone