Super użytkownik ma ładne instrukcje krok po kroku, jak rozwiązać ten problem
Oto inny zestaw instrukcji dotyczących robienia tego samego
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html
Tutaj jest on opublikowany. Idź i w górę głosuj na oryginał, jeśli możesz na superużytkownika.
Po ogólnym zamieszaniu związanym z uprawnieniami zdałem sobie sprawę, że problemem nie było to, że nie miałem odpowiednich uprawnień i ścieżek, ale że AppArmor uniemożliwiał mysqlowi czytanie i pisanie w nowej lokalizacji.
To jest moje rozwiązanie:
Najpierw zatrzymaj MySQL, aby nic dziwnego się nie działo, gdy bawiąc się:
$ sudo stop mysql
Następnie przenieś wszystkie katalogi bazy danych do ich nowego domu:
$ sudo mv /var/lib/mysql/<all folders> /new-mysql-dir/
Nie przenoś plików, zostaną one wygenerowane przez mysql, po prostu przenieś foldery (które są bazami danych).
Następnie grzecznie poproś AppArmor o zezwolenie mysql na użycie nowego folderu:
$ sudo vim /etc/apparmor.d/usr.sbin.mysqld
dodaj linie:
/new-mysql-dir/ r,
/new-mysql-dir/** rwk,
Następnie powiedz mysql, że datadir został przeniesiony:
$ sudo vim /etc/mysql/my.cnf
zmień linię:
datadir=/var/lib/mysql
do:
datadir=/my-new-db-dir/
UWAGA: W zależności od konfiguracji bazy danych może być konieczna zmiana innodb-data-home-dir itp.
Następnie uruchom ponownie AppArmor, aby odczytać nowe ustawienia:
$ sudo /etc/init.d/apparmor restart
I ponownie uruchom MySQL przy użyciu nowego katalogu danych:
$ sudo start mysql
Mam nadzieję że to pomoże!