MySQL-Datenbank verschieben

Aus CyberWiki
Version vom 3. Juli 2017, 18:18 Uhr von Geli (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

1. SQL-Server stoppen

sudo service mysql stop

2. Ordner auf dem externen Laufwerk erstellen, z.B.

mkdir /media/usbhdd/mysql/

3. Dem Ordner die notwendigen Rechte zuweisen.

chown -R mysql:mysql /media/usbhdd/mysql/

4. Dateien kopieren mit

sudo cp -p -R /var/lib/mysql/. /media/usbhdd/mysql/

5. Die Konfigurationsdatei /etc/mysql/my.cnf anpassen

...
basedir         = /usr
datadir         = /var/lib/mysql -> /media/usbhdd/mysql
tmpdir          = /tmp
...

6. MySQL starten mit

sudo service mysql start

Um sicher zu sein, dass MySQL nur noch auf das neue Directory zugreift, kann man den bisherigen Speicherort umbenennen und später löschen.

sudo mv /var/lib/mysql/ /var/lib/mysql_sav/

Sollten Probleme (Fehlermeldung im Syslog) im Zusammenhang mit Apparmor auftreten (https://de.wikipedia.org/wiki/AppArmor), so muss die Verschiebung des Datenverzeichnisses auch noch in der Apparmorconfig eingetragen werden:

sudo nano /etc/apparmor.d/usr.sbin.mysqld

Hier müssen alle Pfade (zwei) von /var/lib/mysql auf /media/usbhdd/mysql geändert werden. Anschließend müssen apparmor und mysql neu gestartet werden.

sudo service apparmor restart
sudo service mysql restart