Antworten:
Öffnen Sie die Windows-CLI als Administrator und fahren Sie MySQL herunter
net stop mysql
Kopieren Sie die Daten nach D:\ProgramData\Data
xcopy /s C:\ProgramData\MySQL\MySQL Server 5.6\data D:\ProgramData\Data
Erstellen oder bearbeiten C:\ProgramData\MySQL\MySQL Server 5.6\my.ini
Fügen Sie dies dem hinzu my.ini
[mysqld]
datadir = D:/ProgramData/Data
Starten Sie MySQL
net start mysql
Wenn Sie nicht ausführen können net start mysql
, versuchen Sie es mit der Windows-Systemsteuerung.
Melden Sie sich bei MySQL an und überprüfen Sie, ob alles in Ordnung ist
Führen Sie dies aus, wenn Sie sich bei MySQL anmelden
mysql> SHOW GLOBAL VARIABLES LIKE 'datadir';
Denken Sie daran, Ihrem neuen Datenverzeichnis die gleichen vollständigen Berechtigungen für Benutzer des Netzwerkdienstes und des Administrators zu erteilen , die das Standarddatenverzeichnis verwendet hat. Andernfalls wird der gefürchtete Fehler "gestartet und dann gestoppt" verursacht. Löschen Sie dieses Verzeichnis erst, wenn Sie sicher sind, dass Ihr neues Verzeichnis funktioniert.
Wenn dies nicht funktioniert, ist hier der Rollback-Plan:
net stop mysql
del "C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"
net start mysql
Hinzufügen einer aktuellen Antwort für MySQL Server 8.0 unter Windows 10 zum Ändern des Datenbankverzeichnisses nach der Installation (Ich habe im Internet danach gesucht und keine Lösung gefunden und bin fast verrückt geworden, also hoffe ich, dass dies jemandem hilft).
Die ersten Schritte sind die gleichen wie in den üblichen anderen Anweisungen für MySQL Server 5.6. Der einzige Unterschied ist im Grunde der 3. Schritt:
Gehen Sie zu Dienste (z. B. drücken Sie WIN + R, geben Sie ein services.msc
, drücken Sie die Eingabetaste) und beenden Sie den MySQL80
Dienst, indem Sie mit der rechten Maustaste klicken und auf "Stopp" klicken (der Dienstname wird während der Installation angegeben, sodass der Name für Sie möglicherweise anders ist).
Verschieben Sie den Datenbankordner an einen beliebigen Ort. Der anfängliche Standort ist normalerweise C:\ProgramData\MySQL\MySQL Server 8.0\data
. Innerhalb des C:\ProgramData\MySQL\MySQL Server 8.0\
Ordners sollte sich eine my.ini
Datei befinden. Öffnen Sie es, um es mit Notepad ++ (oder einem anderen Notepad) zu bearbeiten, und suchen Sie nach den Zeilen, in denen der alte Speicherort in irgendeiner Form erwähnt wird. Es sollte zwei Vorkommen geben (eines für datadir
, eines für secure-file-priv
). Benennen Sie beide in den entsprechenden neuen Speicherort um (möglicherweise reicht es aus, nur das datadir
Teil umzubenennen , aber es ist besser, auf Nummer sicher zu gehen). Anfangs würden sie normalerweise so aussehen:
datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data
und
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"
Wenn also der neue Speicherort sein sollte E:/MySQL/MySQL Server 8.0/...
, benennen Sie beide Einträge wie folgt um:
datadir=E:/MySQL/MySQL Server 8.0/Data
und
secure-file-priv="E:/MySQL/MySQL Server 8.0/Uploads"
Nachdem Sie die Datenbank verschoben und die Einträge in der my.ini
Datei umbenannt haben, öffnen Sie vor dem erneuten Starten des Dienstes den Registrierungseditor (z. B. drücken Sie WIN + R, geben Sie "regedit" ein, drücken Sie die Eingabetaste) und navigieren Sie zu Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80
(erneut ist das MySQL80
der Dienstname des MySQL-Dienstes, den Sie während der Installation ausgewählt haben und von dem Sie möglicherweise abweichen. MySQL80
Klicken Sie mit der rechten Maustaste auf den ImagePath
Eintrag und wählen Sie Ändern. Es sollte eine ähnliche Zeichenfolge angezeigt werden:
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" MySQL80
Dies ist im Grunde die Verknüpfung zur tatsächlichen exe-Datei, die vom Dienst mit einem zusätzlichen Konfigurationsdateiparameter ausgeführt wird, nämlich der my.ini
zuvor geänderten Datei. Daher muss hier natürlich auch der Pfad zur Konfigurationsdatei aktualisiert werden, da er verschoben wurde. In diesem Beispiel würde er also geändert werden in:
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="E:\MySQL\MySQL Server 8.0\my.ini" MySQL80
Beachten Sie, dass natürlich nur der Pfad der Konfigurationsdatei geändert werden muss.
Jetzt kann der Dienst wieder gestartet werden! Gehen Sie erneut zu den Diensten und klicken Sie mit der rechten Maustaste auf den MySQL80
Dienst, um die Option "Start" erneut auszuwählen. Der Dienst sollte problemlos neu gestartet werden. Wenn Schritt 3 übersprungen wird, funktioniert der Neustart normalerweise nicht!