MySQL Datenbanken werden von Ubuntu standardmäßig unter /var/lib/mysql gespeichert. Wenn man die Datenbanken in einem anderen Verzeichnis speichern möchte, z.B. auf einer separaten Datenpartition muss dieser Pfad geändert werden.
Nachdem die Datenbanken in das neue Verzeichnis kopiert wurden muss in der MySQL Configdatei unter /etc/mysql/my.cnf der Pfad unter „basedir“ angepasst werden.
sudo nano /etc/mysql/my.cnf
Startet man nun MySQL neu erhält man jedoch folgende Felhermeldung im Syslog:
Jul 30 13:36:54 hostname kernel: [75872.000591] type=1400 audit(1375184214.335:49): apparmor=“DENIED“ operation=“mknod“ parent=1 profile=“/usr/sbin/mysqld“ name=“/data/mysql/hostname.lower-test“ pid=15706 comm=“mysqld“ requested_mask=“c“ denied_mask=“c“ fsuid=0 ouid=0
Jul 30 13:36:54 hostname kernel: [75872.000760] type=1400 audit(1375184214.335:50): apparmor=“DENIED“ operation=“mknod“ parent=1 profile=“/usr/sbin/mysqld“ name=“/data/mysql/hostname.lower-test“ pid=15706 comm=“mysqld“ requested_mask=“c“ denied_mask=“c“ fsuid=0 ouid=0
Die Änderung muss also auch noch in der Apparmorconfig eingetragen werden mit
sudo nano /etc/apparmor.d/usr.sbin.mysqld
müssen alle Pfade von /var/lib/mysql auf das neue verzeichnis geändert werden. Anschließend muss apparmor und mysql neugestartet werden.
sudo service apparmor restart sudo service mysql restart
Die Fehlermeldung sollte nun verschwinden und die Datenbanken im neuen Verzeichnis gespeichert werden.
1 Comment
Hallo
Leider ist das ganze nicht so einfach wie hier beschrieben.
Der Tablespace ist im neuen Verzeichnis nicht mehr vorhanden.
Es muss also eine größere Aktion durchgeführt werden,
um die Datenbank wieder zu nutzen.
Am besten man macht vor dem ganzen verschieben erst einen export
und im neuen Verz. einen import. Das ist die schnellste Variante.
Gruss Andihea