Ich versuche, den Speicherort der Datenbankdateien von /var/lib/mysql
nach zu verschieben/home/lib/mysql
Ich ändere nur Datenbankdateien. Socket ist immer noch /var/lib/mysql/mysql.sock
(ändert nur datadir
in my.cnf
)
/var/lib/mysql
Nun wurden alle Daten kopiert nach/home/lib/mysql
MySQL wurde gestartet und alles ist in Ordnung. Jetzt ist es Zeit, die Daten zu bereinigen in/var/lib/mysql
aber ich bin nicht sicher, welche Daten entfernt werden können und welche nicht in/var/lib/mysql
dies sind Daten (außer dem Datenbanknamen) in /var/lib/mysql
:
ibdata1
ib_logfile0
ib_logfile1
mysql
Antwort1
Nachdem Sie Ihr Datenverzeichnis erfolgreich verschoben haben, können Sie einfach den gesamten Ordner und seine Dateien/Unterordner löschen.
$sudo rm -rf /var/lib/mysql
Sie müssen nur noch einmal überprüfen, ob Sie alle Daten haben.
Antwort2
ibdata1 ib_logfile0 ib_logfile1
ist mit der InodDB-Engine verbunden, die von MySQL zum Speichern von Daten verwendet wird.
Schauen Sie in /etc/my.cnf (oder wo auch immer my.cnf ist) nach, um zu sehen, wo inoddb zum Ablegen historischer Daten konfiguriert ist.
suchen Sie nach einigen Dingen wie
innodb_data_home_dir = /var/lib/mysql/ibdata
innodb_data_file_path = ibdata1:1500M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/iblog
innodb_log_arch_dir = /var/lib/mysql/iblog
Sobald Sie alle Einstellungen in my.cnf vorgenommen haben, können Sie MySQL neu starten, damit die Änderungen wirksam werden. Außerdem können Sie jetzt gleich am neuen Speicherort nachsehen, ob InodDB Daten- und Protokolldateien erstellt, und am alten Speicherort, ob die Dateien aktualisiert werden.
Löschen Sie diese Dateien nicht, bis Sie mit der Migration fertig sind.