Я использую:
Я только начал изучать базы данных. Одним из важных моментов было хранение фактических данных таблиц на отдельном SSD.
Во всяком случае, я нашел этот пример, с помощью которого я должен добиться этого:
CREATE TABLE t1 (c1 INT PRIMARY KEY) ENGINE=InnoDB DATA DIRECTORY='/path/to/folder/';
Проблема в том, что я получаю это сообщение об ошибке:
ERROR 1005 (HY000): Can't create table `testdb`.`t2` (errno: 168 "Unknown (generic) error from engine")
Я обнаружил ошибку mariaDB 1005, но не нашел дополнительной информации об ошибке двигателя 168. Я предполагаю, что InnoDB имеет в виду «двигатель».
Дальнейшее тестирование показало, что все работает нормально, если я использую папку / tmp / и ее подпапки. Последнее, если права на чтение и запись в указанную папку предоставлены всем пользователям.
Однако даже с разрешением 777 для папки я получаю одну и ту же ошибку для каждой папки вне / tmp /. Это не зависит от пользователя mysql и не работает, если root выполняет команду.
Смена владельца папки на mysql тоже не помогает.
Думал, что может быть аппармор. У меня никогда не было проблем с этим раньше, потому что если я бегу:
$ service apparmor reload
Я получил:
apparmor: неопознанный сервис
И если я бегу
$ systemctl stop apparmor
Я получил:
Не удалось остановить apparmor.service: модуль apparmor.service не загружен.
Так что я почти уверен, что apparmor НЕ работает в моей системе.
Следовательно, я застрял. Я даже уже не знаю, как сформулировать вопросы, которые нужно задать, чтобы получить больше информации или приблизиться к решению этой проблемы :(
Заранее благодарю за любой совет.