Я изменил каталог tmp конфигурации mysql на смонтированный диск и на service mysql restart
Я получаю следующую ошибку:
Can't create/write to file '/mnt/temp/something' (Errcode: 13)
Насколько я понимаю, Error Code 13
относится к ошибке разрешения файла.
Но странная часть:
владелец временного каталога уже mysql
и разрешение файла 1777
drwxrwxrwt 2 mysql mysql 4.0K Nov 14 08:34 temp/
Я могу создать файл в этом месте с пользователем без полномочий root.
На mnt есть 600 ГБ места, так что это не должно быть проблемой.
Я могу создать tmp
каталог легко на корневом диске
/etc/mysql/my.cnf
:
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /mnt/mysql
tmpdir = /mnt/temp
#tmpdir = /var/tmp
Не допускается ли создание каталога tmp на смонтированном диске? Или еще что я делаю не так? Пожалуйста, помогите.
Это немного устарело, но я сам решил аналогичную проблему (используя / mnt / tmp в качестве системного временного каталога) и должен был выяснить, почему MySQL не запускается.
Вероятно, вы столкнулись с настройками AppArmor, которые не позволяют MySQL использовать каталоги на диске / mnt. Вам нужно будет добавить свой новый путь tmp в список разрешенных путей брони приложения MySQL.
Если вы посмотрите в свой системный журнал, вы, вероятно, увидите что-то вроде этого сообщения каждый раз, когда пытаетесь запустить сервер mysql:
type=1400 audit(1425343954.203:23): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/mysqld" name="/mnt/tmp/ibMXP5lg" pid=16418 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=106 ouid=106
В этом случае вам необходимо отредактировать файл:
/etc/apparmor.d/usr.sbin.mysqld
И добавляем строки:
/mnt/tmp/ r, /mnt/tmp/** rwk,
в файл. Затем просто перезапустите AppArmor:
$ sudo service apparmor restart