MySQL-Datenbank verschieben: Unterschied zwischen den Versionen

Aus CyberWiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 19: Zeile 19:
<small>Sollten Probleme im Zusammenhang mit Apparmor auftreten (https://de.wikipedia.org/wiki/AppArmor), so muss die Verschiebung des Datenverzeichnisses auch noch in der Apparmorconfig eingetragen werden:
<small>Sollten Probleme 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
  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.
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 apparmor restart
  sudo service mysql restart
  sudo service mysql restart
</small>
</small>

Version vom 3. Juli 2017, 18:17 Uhr

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 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