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, einem großen externen eSATA-Laufwerk, speichern.
Welche Schritte soll ich unternehmen?
Antworten:
datadir
Parameter).my.ini
Datei (sie befindet sich im mysql-Installationsverzeichnis). Ändern Sie dendatadir
Parameterwert, um auf die neue Position zu zeigen.quelle
/
als Verzeichnistrennzeichen im Verzeichnispfad für und nicht \ verwenden musstedatadir
. Ich verwende WAMPserver unter Windows 10.Obwohl Sie nach Windows fragen, finden Sie hier einige gute Anweisungen für diejenigen, die hier nach Linux / Ubuntu-Anweisungen suchen:
Annahmen:
/mountpoint/var/lib/mysql
, möglicherweise von einem Computer, der abgestürzt ist, oder einer alten Installation/var/lib/mysql
Quelle [email protected]
quelle
Lösung 1:
Zweite Lösung (nicht empfohlen, funktioniert aber auf demselben Computer)
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
quelle
[ERROR] Cannot find or open table <db>/<table> from the internal data dictionary of InnoDB though the .frm file for the table exists.
. Wie kann ich sicherstellen, dass die Berechtigungen richtig eingestellt sind?Ab MySQL Installer 1.4.6 (2015-04-07) für Windows kann der Speicherort der Daten in einem Registrierungsschlüssel angegeben werden, der den Speicherort der
my.ini
Datei angibt. Wenn die Daten also ursprünglich an einem anderen als dem Standardspeicherort installiert wurden Diemy.ini
Datei wird nicht in seinC:\ProgramData\MySQL\MySQL Server x.x\
.Die Position der Registrierungswerte ist (mindestens ab MySQL 5.6):
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB\MySQL Server x.x\
Location
ist einREG_SZ
Ordner, der auf den Ordner verweist, in dem sich die MySQL-Anwendungsdateien befinden. standardmäßig:C:\Program Files\MySQL\MySQL Server x.x\
DataLocation
ist einREG_SZ
, der auf den Ordner verweist, in demmy.ini
sich befindet; standardmäßig auch:C:\Program Files\MySQL\MySQL Server x.x\
Der
my.ini
Dateipfad ist auch im Dienstbefehl unter diesem Registrierungsschlüssel enthalten:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MySQLXX
imImagePath
REG_EXPAND_SZ
Wert.Der Standardwert dieser Zeichenfolge ist:
"C:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server x.x\my.ini" MySQLXX
Die Quintessenz ist also, dass Sie zum Verschieben von Datendateien in diesem Szenario die von @ITCuties bereitgestellten Schritte mit einigen Ergänzungen befolgen müssen.
Hier sind die vollständigen Schritte:
DataLocation
Registrierungswert, um den aktuellenmy.ini
Speicherort der Datei zu ermitteln. Wenn Sie diemy.ini
Datei auch verschieben möchten, aktualisieren Sie denDataLocation
Pfad und verschieben Sie diemy.ini
Datei in diesen neuen Pfad.my.ini
Datei ändern , müssen Sie den Pfad im oben aufgeführten Registrierungsschlüssel für den Dienstbefehl aktualisieren.my.ini
Datei und suchen Sie dendatadir
Parameter. Verschieben Sie die Dateien von diesemdatadir
Pfad in den Pfad, in dem sich die Daten befinden sollen, und aktualisieren Sie dann auch dendatadir
Parameter mit diesem neuen Pfad.quelle