it-swarm-eu.dev

Wie kann ich eine MySQL-Datenbank auf ein anderes Laufwerk verschieben?

Ich verwende MySQL 5.5 auf einem lokalen Computer, um eine große Menge von Regierungsdaten zu analysieren. Ich habe eine lokale Datenbank erstellt, die sich auf meinem Standardlaufwerk befindet (Win7 C: Laufwerk). Ich möchte die Daten auf meinem E: -Laufwerk speichern, einem großen externen eSATA-Laufwerk.

Welche Schritte soll ich unternehmen?

38
user1243473
  1. MySQL herunterfahren.
  2. Verschieben Sie alle Dateien in Ihrem aktuellen Datenverzeichnis an den neuen Speicherort (überprüfen Sie den Speicherort in Schritt 3 - Parameter datadir).
  3. Lokalisieren my.ini Datei (befindet sich im MySQL-Installationsverzeichnis). Ändern Sie den Parameterwert datadir so, dass er auf die neue Position zeigt.
  4. Starten Sie MySQL.
39
ITCuties

Obwohl Sie nach Windows fragen, sind hier einige gute Anweisungen für diejenigen, die hier landen und nach Linux/Ubuntu-Anweisungen suchen:

Annahmen:

  • Sie haben MySQL-Daten auf einem externen/USB/alternativen Laufwerk /mountpoint/var/lib/mysql, vielleicht von einem Computer, der gestorben ist oder eine alte Installation
  • Sie möchten es lokal in Ihre neue Ubuntu-Installation verschieben /var/lib/mysql
  • Stoppen Sie MySQL mit:
    Sudo /etc/init.d/mysql stop.
  • Erstellen Sie eine Sicherungskopie des aktuellen (sauberen) MySQL-Datenverzeichnisses mit:
    Sudo cp -Rp /var/lib/mysql /var/lib/mysql.backup.
  • Kopieren Sie dann das alte Datenverzeichnis vom alten Laufwerk mit:
    Sudo cp -Rp /mountpoint/var/lib/mysql /var/lib/mysql
    wobei mountpoint der Pfad zum Mount ist.
  • Starten Sie MySQL jetzt neu mit:
    Sudo /etc/init.d/mysql start

Mit etwas Glück sollte MySQL neu gestartet werden und Sie sollten Ihre alten Datenbanken wieder haben.

Quelle [email protected]

7
Cyrille

Lösung 1:

  1. Sichern Sie zunächst Ihre Daten mit `mysqldump.
  2. Wenn Sie MySQL Server von einem offiziellen Paket installieren, können Sie dies tun, indem Sie das Programm MySQLINstanceConfig.exe aus dem bin-Verzeichnis Ihres Servers ausführen.
  3. Daten importieren

MySQLINstanceConfig.exe

Zweite Lösung (nicht empfohlen, funktioniert aber auf demselben Computer)

  1. Stoppen Sie den MySQL-Server.
  2. Kopieren Sie Daten aus Ihrem Datenverzeichnis in Ihr neues Verzeichnis
  3. Öffnen Sie die Datei my.cnf (In meinem Fall "C:\ProgramData\MySQL\MySQL Server 5.5\my.ini")
  4. suchen Sie eine Zeile wie datadir = "C:\ProgramData\MySQL\MySQL Server 5.5\data \" und ändern Sie den Pfad zu Ihrem neuen Speicherort
  5. Starten Sie Ihren Server

Ab Version 5.6 wird MySQLInstanceConfig.exe nicht mehr verteilt. Diese Funktionalität wird vom Installationsprogramm ersetzt. http://bugs.mysql.com/bug.php?id=66306

4
rkosegi

Unter Windows kann ab MySQL Installer 1.4.6 (2015-04-07) der Datenspeicherort in einem Registrierungsschlüssel angegeben werden, der den Speicherort der Datei my.ini Angibt. Wenn die Daten ursprünglich an einem nicht standardmäßigen Speicherort installiert wurden, befindet sich die Datei my.ini nicht in C:\ProgramData\MySQL\MySQL Server x.x\.

Der Speicherort der Registrierungswerte ist (mindestens ab MySQL 5.6):

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB\MySQL Server x.x\

Location ist ein REG_SZ, der auf den Ordner verweist, in dem sich die MySQL-Anwendungsdateien befinden. Standardmäßig: C:\Program Files\MySQL\MySQL Server x.x\

DataLocation ist ein REG_SZ, der auf den Ordner verweist, in dem sich my.ini befindet. Standardmäßig auch: C:\Program Files\MySQL\MySQL Server x.x\

Außerdem ist der Dateipfad my.ini Im Dienstbefehl unter diesem Registrierungsschlüssel enthalten: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MySQLXX Im Wert ImagePathREG_EXPAND_SZ.

Der Standardwert dieser Zeichenfolge lautet: "C:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server x.x\my.ini" MySQLXX

Das Fazit ist also, dass Sie zum Verschieben von Datendateien in diesem Szenario die von @ITCuties angegebenen Schritte mit einigen Ergänzungen ausführen müssen.

Hier sind die vollständigen Schritte:

  1. MySQL herunterfahren.
  2. Suchen Sie den obigen Registrierungswert DataLocation, um den aktuellen Speicherort der Datei my.ini Zu ermitteln. Wenn Sie auch die Datei my.ini Verschieben möchten, aktualisieren Sie den Pfad DataLocation und verschieben Sie die Datei my.ini in diesen neuen Pfad.
  3. Wenn Sie den Speicherort der Datei my.ini Ändern, müssen Sie den Pfad im oben aufgeführten Registrierungsschlüssel für den Dienstbefehl aktualisieren.
  4. Öffnen Sie die Datei my.ini Und suchen Sie den Parameter datadir. Verschieben Sie die Dateien von diesem datadir -Pfad in den Pfad, in dem sich die Daten befinden sollen, und aktualisieren Sie dann auch den Parameter datadir mit diesem neuen Pfad.
  5. Starten Sie MySQL.
2
nextgentech