Zdarza się, że potrzebujemy przenieść pliki bazy danych w inne miejsce. Na przykład mamy wydzielone dyski macierzowe i na nich mamy mieć tylko bazę.
Standardowo mysql trzyma swoje pliki na katalogu /var/lib/mysql .
Co trzeba zrobić, żeby te pliki umieścić w innym miejscu?
Załóżmy, że naszym nowym katalogiem będzie /dane/mysql
Po pierwsze tworzymy katalog docelowy i nadajemy mu odpowiednie prawa
#mkdir /dane/mysql
#chown mysql:mysql /dane/mysql
#chmod 700 /dane/mysql</pre>
Zatrzymujemy mysql
#service mysql stop
kopiujemy wszystkie pliki na miejsce docelowe
#cp -r /var/lib/mysql/* /dane/mysql/
oczywiście należy zmienić wpisy w /etc/mysql/my.cnf i wpisać nowy katalog
datadir = /dane/mysql
i na koniec zmieniamy ustawienia AppArmor
#mcedit /etc/apparmor.d/usr.sbin.mysqld
i dodajemy następujące linie wśród innych udostępnianych katalogów. Pierwsza linia daje prawo d zrobienia ls na katalogu, druga daje dostęp do plików.
/dane/mysql/ r,
/dane/mysql/** rwk,
i restartujemy AppArmor i bazę
#service apparmor restart
#service mysql start
I działa!!!
W końcu działający poradnik, szczegółem jest wpis AppArmor