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

Мой основной том - это SSD-диск емкостью 20 ГБ, установленный в /. У меня есть жесткий диск емкостью 4 ТБ, установленный в / home. Итак, чтобы сэкономить место, я хочу установить временный каталог mysql в /home/mysqltmp.[1220 visible, однако, когда я установил этот каталог, 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
0
задан 4 April 2019 в 05:49
1 ответ

Думаю, это могут быть значения 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 &
0
ответ дан 5 December 2019 в 03:37

Теги

Похожие вопросы