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

mysqld: Не удается создать / записать в файл '/ home / mysqltmp / ibXXX' Отказано в разрешении

Мой основной том - это SSD-диск емкостью 20 ГБ, установленный на /. У меня установлен жесткий диск емкостью 4 ТБ в / home. Итак, чтобы сэкономить место, я хочу установить временный каталог mysql в / home / mysqltmp.

Однако, когда я установил этот каталог, mysql не запустился. Я получаю ошибку:

mysqld: Can't create/write to file '/home/mysqltmp/ibm7cVN0' (Errcode: 13 "Permission denied")

Я проверил разрешение и оно правильное:

# ls -ld /home/mysqltmp/
drwxrwxrwx 2 mysql mysql 4096 Apr  4 03:19 /home/mysqltmp/

Запуск mysqld от имени root запускается без проблем.

Сервер:

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:    16.04
Codename:   xenial

Примечание: проблема возникла после обновления до 16.04, работала 14.04

Сведения о MySQL:

# mysql -V
mysql  Ver 15.1 Distrib 10.1.38-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Думаю, это могут быть ценности UMASK. Пожалуйста, проверьте umask.

Чтобы изменить значение UMASK по умолчанию, запустите mysqld_safe следующим образом:

$ UMASK=384  # = 600 in octal
$ export UMASK
$ mysqld_safe &

По умолчанию MySQL создает каталоги базы данных со значением разрешения доступа 0750. Чтобы изменить это поведение, установите переменную UMASK_DIR. Если вы установите его значение, новые каталоги будут созданы с комбинированными значениями UMASK и UMASK_DIR. Например, чтобы предоставить группе доступ ко всем новым каталогам, запустите mysqld_safe следующим образом:

$ UMASK_DIR=504  # = 770 in octal
$ export UMASK_DIR
$ mysqld_safe &