Мой основной том - это 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 &