Я смонтировал отдельный жесткий диск в /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 (на другом разделе), у него все еще были эти предыдущие идентификаторы, назначение которых изменилось.