После обновления mariaDB 10.0 до 10.1 mysql больше не может писать tmpdir

Я заказал новый сервер с mariaDB 10.0. Я отредактировал /etc/my.cnf, чтобы изменить tmpdir на /home/mysql_tmp_dir (принадлежит mysql:mysql). Все работало нормально.

Сделал обновление до mariaDB 10.1.37, и tmpdir больше не может быть записан в:

[ОШИБКА] mysqld: невозможно создать / записать в файл '/home/mysql_tmp_dir/ibV9SvJP' (код ошибки: 13 "Отказано в доступе")

Это, конечно, вызывало всевозможные проблемы, в основном из-за невозможности загрузки двигателя innodb.

Комментирование tmpdir для возврата к значению по умолчанию и перезапуск временно решили проблему. Но я в растерянности относительно того, почему это произошло и как это решить.

Мне нужен больший tmpdir, иначе он заполняется при оптимизации больших баз данных, что, конечно, заставляет mysql блокироваться до освобождения места.

1 ответ

В более ранней версии 10.1 MariaDB добавила защиту системы, одним из которых была установка для защиты homedir,

Попробуй это

awk '/Protect/' /usr/lib/systemd/system/mariadb.service

Если ты видишь ProtectHome=true, вы можете переместить tmpdir куда-нибудь еще или добавить

// File: /etc/systemd/system/mariadb.service.d/protecthome.conf
[Service]
ProtectHome=false

Ссылки по теме

Другие вопросы по тегам