Ändern Sie den vorhandenen Datenpfad

20

Ich möchte den datadirPfad in der my.iniDatei ändern .

Der vorhandene datadirPfad lautetC:/ProgramData/MySQL/MySQL Server 5.1/Data/

Die Größe meines C:Laufwerks beträgt 30 GB und der MySQL-Datenordner belegt 25 GB. Deshalb möchte ich die Änderungen datadirzu F:/naveen/data.

Ist das möglich?

Auf meinem Computer wird Windows Server 2003 ausgeführt .

naveen
quelle

Antworten:

26

Von Ihren Wegen kann ich ohne Bedenken Folgendes annehmen:

  • Sie führen MySQL unter Windows aus
  • Sie haben das MySQL MSI zur Installation verwendet

Was Sie tun müssen, ist die Datei my.ini einzurichten

Bei der Installation von MySQL für Windows mit MSI wird der Speicherort von my.ini erwartet C:/ProgramData/MySQL/MySQL Server 5.1.

Führen Sie in einem DOS-Fenster Folgendes aus:

cd C:/ProgramData/MySQL/MySQL Server 5.1
dir *.ini

Sie werden einige my.ini-Beispieldateien sehen. Wenn sich jedoch keine Datei mit dem Namen my.ini in diesem Ordner befindet, müssen Sie eine erstellen. Ob es eine gibt oder nicht, bitte führen Sie diese aus:

cd C:/ProgramData/MySQL/MySQL Server 5.1
notepad my.ini

Wenn Sie aufgefordert werden, es zu erstellen, tun Sie dies bitte.

Erstellen Sie als Nächstes den folgenden Eintrag unter dem Gruppenkopf [mysqld] in my.ini:

[mysqld]
datadir=F:/naveen/data

Speichern Sie my.ini

Stoppen Sie als Nächstes mysql über die DOS-Befehlszeile wie folgt:

C:\> net stop mysql

Erstellen Sie als Nächstes eine Kopie des gesamten Datenordners am neuen Speicherort

C:\> xcopy "C:\ProgramData\MySQL\MySQL Server 5.1\data" F:\naveen\data /s

Letzter Schritt, starten Sie MySQL

C:\> net start mysql

Versuchen Sie, sich bei MySQL anzumelden. Sobald Sie sich erfolgreich bei mysql anmelden können, führen Sie diesen Befehl aus:

show variables like 'datadir';

Wenn F:\naveen\dataals Datadir angezeigt wird, GLÜCKWUNSCH, HABEN SIE ES RICHTIG GEMACHT !!!

Sobald Sie zufrieden sind, dass alle Ihre Apps auf MySQL funktionieren, können Sie alles in löschen C:\ProgramData\MySQL\MySQL Server 5.1\data\*

Versuche es !!!

RolandoMySQLDBA
quelle
Darf ich wissen, dass die obigen Schritte für Windows Server 2008 funktionieren?
Funktioniert, aber höchstwahrscheinlich wird der Fehler 1067
2
Manchmal wird der Dienst als registriert MySQL57, Sie müssen zuerst überprüfen.
Giannis Christofakis
2
Ich habe einen Noob-Fehler gemacht und keine xcopy-Berechtigungen. Mysql würde nicht neu starten. Ich habe versucht, NETWORK SERVICE vollen Zugriff auf den Datadir zu gewähren (wie in anderen Online-Vorschlägen angegeben), und es wurden Berechtigungsfehler ausgegeben. Wenn dies bei Ihnen der Fall ist, geben Sie "Everybody" die volle Kontrolle über die Daten-Unterverzeichnisse und erben Sie diese an Kinder. Wechseln Sie dann in den übergeordneten Ordner (datadir), aktivieren Sie die Vererbung über die Berechtigungen "Erweitert" und wenden Sie sie auf alle untergeordneten Ordner an. Sie können dann NETWORK SERVICE zu Ihrem Datenverzeichnis hinzufügen, wodurch es die volle Kontrolle erhält und sich auf Kinder ausbreitet.
Murraybiscuit
2
Sie sollten xcopy /O/X/E/H/Kstatt xcopy /Sin dieser Antwort verwenden.
Ethan Allen