время ожидания службы mysql истекает при запуске

#mysql #mariadb #apparmor

#mysql #mariadb #apparmor

Вопрос:

Время ожидания запуска mysql истекает. Я не уверен, почему.

Я просмотрел файлы журнала, как было предложено, только для того, чтобы узнать, что время ожидания истекает, но не мог понять почему. Я даже пытался переустановить стек lamp, и все же результат тот же.

 toor@linux:~$ sudo /etc/init.d/mysql start
[....] Starting mysql (via systemctl): mysql.service
Job for mariadb.service failed because a timeout was exceeded.
See "systemctl status mariadb.service" and "journalctl -xe" for details.
failed!


toor@linux:~$ systemctl status mariadb.service
● mariadb.service - MariaDB 10.1.37 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: failed (Result: timeout) since Thu 2019-03-28 18:52:25 IST; 1min 13s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 14867 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, stat
  Process: 14790 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] amp;amp; VAR= ||   VAR=`/usr/bin/galera_recovery`
  Process: 14785 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCC
  Process: 14783 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCE
 Main PID: 14867 (code=exited, status=1/FAILURE)
   Status: "MariaDB server is down"
lines 1-11/11 (END)
  

Я попытался вставить результат journalctl -xe, но не могу отправить его, поскольку там довольно много кода. Итак, вот вывод.

Ответ №1:

sudo aa-status показывает, что делает apparmor.

sudo apt-get install apparmor-utils добавляет несколько команд, которые упрощают профили apparmor.

sudo aa-пожаловаться /usr / sbin /mysqld переводит профиль с «принудительного исполнения» на «жаловаться».

перезагрузка приложения службы sudo перезапускает apparmor, и вуаля … запуск sudo /etc/init.d /mysql для перезапуска сервера.

Комментарии:

1. apparmor не был установлен, поэтому я установил его и активировал в соответствии с debian wiki. Хотя sudo aa-complain / usr / sbin / mysqld выдал сообщение о том, что профиль пуст, похоже, что теперь все работает.

2. Не могли бы вы, пожалуйста, «подробнее» объяснить свое решение? Почему это устраняет проблему?