MySQL не запускается после изменения datadir (14.04, mysql 5.7)

MySQL не запускается после изменения datadir (14.04, mysql 5.7)

Я смонтировал отдельный жесткий диск в /mnt/temp и изменилдатадирчтобы указать на это. Я добавил правильные настройки в apparmor и работал с mysql несколько часов. После добавления performance_schemaвмой.cnfи при попытке перезапустить mysql я получаю ошибки:

[Warning] Can't create test file /mnt/temp/some_dir/blah.lower-test
...
[ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
...

С тех пор я chmod -R 777 /mnt/tempзакрыл App Armor, перемонтировал раздел, вручную завершил все процессы, которые могли бы взаимодействовать с разделом, и удалил его performance_schemaиз своей конфигурации.

Какие-либо предложения?

решение1

ОтИзучаем MySQL: AppArmor и MySQL

Если вы хотите переместить каталог данных в MySQL (в этом примере в /data/directory), а AppArmor вам этого не позволяет, добавьте следующие две строки в конец /etc/apparmor.d/local/usr.sbin.mysqld:

/data/ r,
/data/** rwk, 

...а затем перезагрузите профили AppArmor:

sudo service apparmor reload 

решение2

Я столкнулся с тем же самым и мог предположить, что это проблема с владельцем (это также создало у меня иллюзию проблемы с AppArmor).

Может быть, вы можете попробовать это (измените, /var/lib/mysqlесли не соответствует вашему):

sudo chown -R mysql /var/lib/mysql
sudo chgrp -R mysql /var/lib/mysql

В качестве пояснительного примечания: идентификаторы пользователя и группы для MySQL изменились с более раннего выпуска Ubuntu. Предыдущий идентификатор пользователя и идентификатор группы теперь выглядели как hplipи pulse-access. Поскольку каталог данных является для меня mount‑bind (на другом разделе), у него все еще были эти предыдущие идентификаторы, назначение которых изменилось.

Связанный контент