der MySQL-Dienst auf dem lokalen Computer wurde gestartet und dann beendet. Einige Dienste werden automatisch angehalten, wenn sie nicht von anderen Diensten oder Programmen verwendet werden.
Kann jemand dieses Problem lösen? Vielen Dank.
Nach der Installation von mysqld --install
. Versuchen Sie diesen mysqld --initialize
. Wir haben das gleiche Problem, aber es funktioniert jetzt.
Denken Sie auch daran, dem Ordner den Befehl NETWORK SERVICE zu erteilen:
Data
Properties
auswählenSecurity
Advanced
.Change Permissions...
.Add...
.NETWORK SERVICE
Check Names
.OK
.Full Control
auswählenOK
Wenn Sie Version 8 verwenden und die Datei my.ini bearbeiten, wurde festgestellt, dass im Editor 3 hexadezimale Zeichen am Anfang der Datei my.ini stehen. 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 Zeichen für die Bytereihenfolge speichert.
Die folgende Zeile in der Datei ist der Schuldige: "Die Zeilennummer 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 die Markierung für die Bytereihenfolge an die Textdatei anfügt.
In meinem Fall habe ich versucht, eine DOS-Eingabeaufforderung zu öffnen, und Gehe in das MySQL-Verzeichnis bin\
und sende den folgenden Befehl aus:
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 fehlte; Ich habe einen gebaut und das Problem gelöst.
Nichts funktionierte für mich, aber dann überprüfte ich hier . Ich habe diesen Befehl ausgeführt qc sc mysql57
und kopierte den Wert von BINARY_PATH_NAME
davon. Danach überprüfte ich this und änderte den Wert von lower_case_table_names
von 0 bis 2 in my.ini
Datei. Dann habe ich in der Eingabeaufforderung den folgenden Befehl ausgeführt: << BINARY_PATH_NAME >> --install-manual
. Danach habe ich den MySQL57-Dienst gestartet und es hat funktioniert.
Umbenennen oder löschen Sie den Ordner unter
C:\ProgramData\MySQL\MySQL Server 5.7
ordnername ändern gemäß IhrerMYSQLVersionsnummer.
mysqld --initialize
Führen Sie den obigen Befehl nach dem Installationsbefehl aus ..__ Versuchen Sie dann, den Dienst zu starten - das sollte funktionieren.
In meinem Fall wurde mysqld ohne Fehlermeldung gestartet und angehalten. Ich musste die Eingabeaufforderung mit "Als Administrator ausführen" öffnen und dann mysqld ausführen.
Ich mache das nur für temporäre Entwicklung. Ich würde MySQL auf keinen Fall als Administrator empfehlen.
Dies war der letzte Schritt nach der obigen Fehlerbehebung.
Suchen Sie nach services.msc, und suchen Sie nach den Services, die ausgeführt werden, wenn bereits ein anderer mysql-Dienst als der ausgeführt wird, den Sie ausführen möchten (es könnte sich um xampp oder wamp handeln) oder um einen anderen Service (z. B. Skype), der denselben Port verwendet als mysql und stoppen Sie den Dienst, damit Sie Ihren mysql-Dienst ausführen können.
Dies kann daran liegen, dass lower_case_table_names
geändert wurde, nachdem ein Server bereits initialisiert wurde.
lower_case_table_names kann nur bei der Initialisierung von .__ konfiguriert werden. Server. Ändern der Einstellung "lower_case_table_names" nach dem Server ist initialisiert ist verboten.
Die Lösung für dieses Problem besteht darin, den Parameter lower_case_table_names
bei der Serverinstallation wie in der folgenden Antwort beschrieben einzustellen:
In MySQL 8.x können unter Windows 10 keine unteren_kastennamensnamen gesetzt werden.
Dieser Fehler ist in meinem Fall aufgetreten, als secure-file-priv auf einen nicht vorhandenen Ordner zeigte. Stellen Sie sicher, dass er vorhanden und lesbar ist.
Die Codezeile Beispiel in my.ini: secure-file-priv="D:/MySQL/uploads"
Das gleiche Problem trat auch bei mir auf, als ich feststellte, dass es funktioniert hat ... Ich habe zuerst den Dienst (in meinem Fall MySQL80 und MySQL) mit folgendem Befehl gelöscht:
sc delete MySQL80
sc delete MySql
und dann neu installiert MySQL. Meins war MySQL 8.0. Und dann war alles wieder normal.
Ich hatte dieses Problem, nachdem meine Datenbank lange Zeit einwandfrei funktionierte. Es stellte sich heraus, dass es sich um Datenkorruption 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 erneut gestartet.
Möglicherweise haben Sie auch versehentlich einen falschen Text in die Datei my.ini
Eingefügt. Stellen Sie sicher, dass am Anfang der Datei kein ungültiges Zeichen hinzugefügt wird.