У суперпользователя есть пошаговые инструкции о том, как решить этот probelm
. Вот еще один набор инструкций по выполнению одной и той же вещи. У суперпользователя есть пошаговые инструкции по как решить эту задачу
Здесь она отправляется обратно. Пойдите, чтобы проголосовать за оригинал, если можете на супер пользователя.
После некоторой общей путаницы в отношении разрешений я понял, что проблема не в том, что у меня не было прав и путей, но AppArmor не позволял mysql читать и писать в новое место. [!d5 ]
Это мое решение:
Первая остановка MySQL, поэтому ничего странного не происходит, пока вы играете:
$ sudo stop mysql
Затем переместите все каталоги базы данных в их новый дом:
$ sudo mv /var/lib/mysql/ /new-mysql-dir/
Не перемещайте файлы, они будут сгенерированы mysql, просто переместите папки (которые являются базами данных).
Затем вежливо попросите AppArmor разрешить mysql используйте новую папку:
$ sudo vim /etc/apparmor.d/usr.sbin.mysqld
добавить строки:
/new-mysql-dir/ r,
/new-mysql-dir/** rwk,
Затем скажите mysql, что перемещался датадар:
$ sudo vim /etc/mysql/my.cnf
изменить строку :
datadir=/var/lib/mysql
to:
datadir=/my-new-db-dir/
ПРИМЕЧАНИЕ. В зависимости от вашей базы данных вам может потребоваться изменить файл innodb-data-home-dir и т. д. [!d15 ]
Затем перезапустите AppArmor, чтобы прочитать новые настройки:
$ sudo /etc/init.d/apparmor restart
И запустите MySQL снова с помощью нового datadir:
$ sudo start mysql
Надеюсь, что это помогает!