Назад | Перейти на главную страницу

Параметр mariaDB <DATA DIRECTORY> не может создать таблицу в каталоге вне tmp-папки

Я использую:

Я только начал изучать базы данных. Одним из важных моментов было хранение фактических данных таблиц на отдельном 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 НЕ работает в моей системе.

Следовательно, я застрял. Я даже уже не знаю, как сформулировать вопросы, которые нужно задать, чтобы получить больше информации или приблизиться к решению этой проблемы :(

Заранее благодарю за любой совет.