MariaDB не запускается после обновления до Ubuntu 16.04

Обновлено до Ubuntu 16.04 от 14.04 x64

Если я пытаюсь запустить mysqld, это терпит неудачу, и в syslog у меня есть

kernel: [ 2336.792423] audit: type=1400 audit(1470265086.730:518): apparmor="DENIED" operation="sendmsg" info="Failed name lookup - disconnected path" error=-13 profile="/usr/sbin/mysqld" name="run/systemd/notify" pid=11850 comm="mysqld" requested_mask="w" denied_mask="w" fsuid=117 ouid=0

Я добавил /run/systemd/notify/ в apparmor , но я не могу добавить run/systemd/notify - «/» отсутствует

Как я могу это исправить? Мне нужно, чтобы MariaDB запускался на отдельном разделе

Я использую MariaDB с папкой с данными на /home/db/mysql У меня была симлинковая ссылка, настроенная для указания на нее из

lrwxrwxrwx 1 mysql mysql 14 iun 22 20:58 /var/lib/mysql -> /home/db/mysql [!d5 ]

, а также профиль профиля приложения:

# vim:syntax=apparmor
# Last Modified: Tue Jun 19 17:37:30 2007
#include <tunables/global>

/usr/sbin/mysqld {
#include <abstractions/base>
#include <abstractions/nameservice>
#include <abstractions/user-tmp>
#include <abstractions/mysql>
#include <abstractions/winbind>

capability dac_override,
capability sys_resource,
capability setgid,
capability setuid,

network tcp,

/etc/hosts.allow r,
/etc/hosts.deny r,

/etc/mysql/*.pem r,
/etc/mysql/conf.d/ r,
/etc/mysql/conf.d/* r,
/etc/mysql/*.cnf r,
/usr/lib/mysql/plugin/ r,
/usr/lib/mysql/plugin/*.so* mr,
/usr/sbin/mysqld mr,
/usr/share/mysql/** r,
/var/log/mysql.log rw,
/var/log/mysql.err rw,
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
/var/log/mysql/ r,
/var/log/mysql/* rw,
/var/run/mysqld/mysqld.pid rw,
/var/run/mysqld/mysqld.sock w,
/run/mysqld/mysqld.pid rw,
/run/mysqld/mysqld.sock w,
/run/systemd/notify w,
/home/db/** rwk,
/home/db/mysql/** rwk,

/sys/devices/system/cpu/ r,

# Site-specific additions and overrides. See local/README for details.
#include <local/usr.sbin.mysqld>
}

Он ранее не работал на cd до /home/db/mysql, но исправил его, отредактировав /lib/systemd/system/mariadb.service и установив ProtectHome=false

1
задан 4 August 2016 в 02:09

1 ответ

В моем случае я установил MariaDB 10.2 на Ubuntu Xenial 16.04 и использовал символические ссылки, чтобы указывать на базы данных пользователей в своих домашних каталогах. Это отлично работает для 10.0, но теперь будет возвращать ошибки

[ERROR] InnoDB: Ошибка операционной системы номер 13 в файловой операции. [ERROR] InnoDB: ошибка означает, что mysqld не имеет прав доступа к каталогу. [ERROR] InnoDB: os_file_readdir_next_file () возвращен -1 в каталог ./, восстановление после сбоя может быть неудачно для некоторых .ibd-файлов!

Все файлы и каталоги принадлежали mysql: mysql. Однако благодаря плакату вопроса я нашел в /lib/systemd/system/mariadb.service настройку:

[ERROR] InnoDB: Ошибка операционной системы № 13 в файловой операции.

ProtectHome = true
]

# Предотвращение доступа к / home, / root и / run / user

После установки этого параметра на false и systemctl daemon-reload MariaDB запускается нормально.

0
ответ дан 23 May 2018 в 07:29

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

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