Ich habe einen MySQL-Server mit Installationsprogramm installiert und es wurde gestartet. Nach dem Neustart habe ich versucht, es erneut zu starten und den Fehler zu erhalten:
D:\Program Files\MySQL\MySQL Server 5.7\bin>mysqld -u root -p
mysqld: Can't change dir to 'D:\Program Files\MySQL\MySQL Server 5.7\data\' (Errcode: 2 - No such file or directory)
2015-11-17T08:30:18.822962Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-11-17T08:30:18.822962Z 0 [Warning] Insecure configuration for --secure- file -priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2015-11-17T08:30:18.822962Z 0 [Note] mysqld (mysqld 5.7.9) starting as process 1108 ...
2015-11-17T08:30:18.838586Z 0 [Warning] Can't create test file D:\Program Files\MySQL\MySQL Server 5.7\data\DESKTOP-RNBR3E8.lower-test
2015-11-17T08:30:18.838586Z 0 [Warning] Can't create test file D:\Program Files\MySQL\MySQL Server 5.7\data\DESKTOP-RNBR3E8.lower-test
2015-11-17T08:30:18.838586Z 0 [ERROR] failed to set datadir to D:\Program Files\MySQL\MySQL Server 5.7\data\
2015-11-17T08:30:18.838586Z 0 [ERROR] Aborting
2015-11-17T08:30:18.838586Z 0 [Note] Binlog end
2015-11-17T08:30:18.838586Z 0 [Note] mysqld: Shutdown complete
Ich habe versucht, MySQL neu zu installieren.
UPDATE:
Wenn ich mysqld -u root -p
als Administrator ausgeführt werde, passiert nichts.
.msi
Installationsprogramm zu verwenden. Viel einfacher als manuelle InstallationAntworten:
Da Sie das Windows-Installationsprogramm verwendet haben, ist alles so eingerichtet, dass Sie MySQL 5.7 als Windows-Dienst ausführen können. Dies ist in den meisten Fällen eine hervorragende Option.
Anstatt
mysqld.exe
von der Kommandozeile aus zu laufen ,Win + R
services.msc
MySQL57
quelle
Ich habe das gleiche Problem getroffen. In meinem Fall hatte ich kein Verzeichnis
..\data
in meinem,C:\mysql\
also habe ich nur denmysqld --initialize
Befehl aus demc:\mysql\bin\
Verzeichnis ausgeführt und das Datenverzeichnis in erhaltenc:\mysql\data
. Danach konnte ich denmysqld.exe --console
Befehl verwenden, um den Serverstart zu testen.quelle
cmd
as zu startenAdministrator
(dh mit der rechtencmd
In meinem Fall hatte ich das Datenverzeichnis an einem anderen Ort installiert. Das Datenverzeichnis befand sich also wirklich nicht am Standardspeicherort. Als ich den
mysqld
Befehl über die Eingabeaufforderung ausführte, musste ich das Datenverzeichnis daher manuell angeben:mysqld --datadir=D:/MySQLData/Data
Hier ist die Dokumentation für mysqld-Befehlszeilenargumente.
quelle
Was ich für eine Neuinstallation getan habe (Windows 10):
Starten Sie cmd im Administratormodus (führen Sie es als Administrator aus, indem Sie die Windows-Taste drücken, cmd eingeben, mit der rechten Maustaste darauf klicken und "Als Administrator ausführen" auswählen.
Wechseln Sie in das Verzeichnis "MySQL Server XY" (für mich lautet der vollständige Pfad C: \ Programme \ MySQL \ MySQL Server 5.7 ").
Erstellen Sie mit dem Editor eine my.ini mit einem mysqld-Abschnitt, der auf Ihr Datenverzeichnis verweist
hat das oben in my.ini angegebene Verzeichnis erstellt.
Wechseln Sie in das bin-Verzeichnis unter dem Serververzeichnis und führen Sie Folgendes aus:
mysqld --initialize
Sobald der Vorgang abgeschlossen war, wurde der Dienst gestartet und es wurde einwandfrei ausgeführt.
quelle
Erster Lauf
mysqld -u root --initialize-insecure
Es wird ein Datenordner mit root als Benutzer ohne Passwort erstellt. Dann renne
mysqld.exe -u root --console
quelle
Wenn dies immer noch nicht funktioniert, versuchen Sie, die folgende Notation mit doppelten Schrägstrichen zu verwenden: C: \ WebSerer \ MySQL \ data oder C: / WebServer / MySQL / data
quelle
In MySQL 8.0.13 Initialisierung des Zip-Pakets.
Stellen Sie sicher, dass der Datenordner leer ist.
Unter dem MySQL-Bin-Pfad laufen
mysqld.exe --initialize-insecure
Zu my.ini hinzufügen native mysql
[mysqld]
default_authentication_plugin=mysql_native_password
quelle
Als ich auf denselben Fehler stieß, bemerkte ich, dass die MySQL-Konfigurationsdatei in "C: \ Programme \ MySQL \ MySQL Server XY \" in my-default.ini geändert wurde
Ich habe es gelöst durch
In der INI-Datei lautet ihr Teil:
# On Windows you should keep this file in the installation directory # of your server (e.g. C:\Program Files\MySQL\MySQL Server X.Y). To # make sure the server reads the config file use the startup option # "--defaults-file".
quelle
Überprüfen Sie Ihren tatsächlichen
my.ini
Dateispeicherort und stellen Sie ihn--defaults-file="location"
mit diesem Befehl einmysql --defaults-file="C:\MYSQL\my.ini" -u root -p
Diese Lösung ist permanent für Ihren cmd-Bildschirm.
quelle
Entfernen Sie alle Dateien im Verzeichnis "{path-to-mysql} \ data" und führen Sie Folgendes aus:
mysqld --initialize-insecure --basedir={path-to-mysql}\mysql --datadir={path-to-mysql}\data --console
quelle
mariofertc hat das für mich komplett gelöst hier sind seine schritte:
Stellen Sie sicher, dass das Datenverzeichnis von mysql leer ist (bevor Sie es löschen, speichern Sie die Fehlerdatei für Ihre Datensätze).
Führen Sie unter dem Pfad mysql bin Folgendes aus: mysqld.exe --initialize-unsicher
Fügen Sie der Datei my.ini (Konfigurationsdatei von mysql) Folgendes hinzu: [mysqld] default_authentication_plugin = mysql_native_password
Überprüfen Sie dann die Dienste (über den Task-Manager), um sicherzustellen, dass MySql ausgeführt wird. Wenn nicht, klicken Sie mit der rechten Maustaste auf MySql und starten Sie es.
Ich werde auch beachten, wenn Sie Ihre MySQL-Konfigurationsdatei nicht im MySQL-Bin haben und sie nicht über die Windows-Suche finden können, sollten Sie sie unter C: \ Programme Data \ MySQL \ suchen. Beachten Sie, dass dies der Fall ist Möglicherweise handelt es sich um einen anderen Namen als my.ini, z. B. eine Vorlage, wie Heesu hier erwähnt: my.ini (mysql 5.7) kann nicht gefunden werden. Suchen Sie einfach die Vorlage, die der Version Ihrer mysql entspricht, über den Befehl mysql --version
quelle
Wenn Sie MySQL Server mit dem Windows-Installationsprogramm und als Windows-Dienst installiert haben, können Sie MySQL Server mit PowerShell starten und die Bequemlichkeit genießen, die Befehlszeile nicht zu verlassen.
Öffnen Sie PowerShell und führen Sie den folgenden Befehl aus:
Eine Liste der MySQL-Dienste wird abgerufen und angezeigt. Wählen Sie das, dass Sie den folgenden Befehl wollen und ausführen , während ersetzen Service-Namen mit dem aktuellen Service - Namen:
Start-Service -Name service-name
Erledigt. Sie können überprüfen, ob der Dienst ausgeführt wird, indem Sie den Befehl
Get-Service *sql*
erneut ausführen und den Status des Dienstes überprüfen.quelle
Diese Lösung verwendet das Windows MySQL-Installationsprogramm .
Ich habe jeden anderen hier erwähnten Weg und andere verwandte Beiträge ausprobiert, aber es hat mein Problem nicht gelöst, der Dienst wird einfach nicht gestartet, aber der folgende Ansatz mit dem MySQL-Installer hat es getan.
Wenn Sie Ihr Installationsprogramm noch haben oder sich mindestens an die Version erinnern, gehen Sie wie folgt vor:
Sie können anhand der Dienste des Fensters überprüfen, ob der MySqL-Server gestartet wurde.
Hoffe es hilft jemandem.
quelle
Suchen Sie nach fehlenden Ordnern, die vom Server benötigt werden. In meinem Fall war es der UPLOADS-Ordner in programData, der von dem zuvor verwendeten Dienstprogramm zum Löschen leerer Ordner gelöscht wurde.
Wie habe ich herausgefunden:
Führen Sie die Serverkonfigurationsdatei my.ini (in meinem Fall in programData) als Standarddateiparameter für mysqld aus (vergessen Sie nicht, die Option --console zu verwenden, um das Fehlerprotokoll auf dem Bildschirm anzuzeigen). 'mysqld --defaults-file = "C: \ ProgramData \ MySQL \ MySQL Server 8.0 \ my.ini" --console '
Error:
mysqld: Verzeichnis von 'C: \ ProgramData \ MySQL \ MySQL Server 8.0 \ Uploads \' kann nicht gelesen werden (Betriebssystem Errno 2 - Keine solche Datei oder kein solches Verzeichnis)
Lösung:
Nachdem ich den Uploads-Ordner manuell erstellt hatte, wurde der Server erfolgreich gestartet.
quelle