Работа mysql.service завершилась неудачно, так как управляющий процесс завершился с кодом ошибки.

Вопрос или проблема

Сервер MySQL работал нормально прошлой ночью, но сегодня утром, когда я попытался получить доступ к серверу Bugzilla, я обнаружил, что он не работает. Я попытался его запустить, но получил:

Задание для mysql.service не удалось, потому что управляющий процесс завершился с 
кодом ошибки. См. "systemctl status mysql.service" и "journalctl -xe" для 
подробностей.

Я сделал несколько поисков в Google и нашел множество вопросов. Я попробовал некоторые ответы, но сервер все еще не работает. У меня достаточно места,

root@GBRTEF01LX005:/home/bzadmin# df -h
Файловая система                     Размер Используемое Доступно Использование% Смонтировано на
udev                                 2.0G      0  2.0G    0% /dev
tmpfs                                396M   5.8M  390M    2% /run
/dev/mapper/CMS--UBN--TEMPLATE--1--vg-root  75G  4.8G  66G    7% /
tmpfs                               2.0G      0  2.0G    0% /dev/shm
tmpfs                               5.0M      0  5.0M    0% /run/lock
tmpfs                               2.0G      0  2.0G    0% /sys/fs/cgroup
/dev/sda1                          472M   106M  342M   24% /boot
tmpfs                               396M      0  396M    0% /run/user/1001

Я также добавил больше пространства для обмена для InnoDB,

innodb_buffer_pool_size = 20M

что является одним из предложений, которые я нашел, а в заключение вот последние 30 строк journalctl -xe,

root@GBRTEF01LX005:/home/bzadmin# journalctl -xe | tail -30
25 фев 16:26:23 GBRTEF01LX005 systemd[1]: Не удалось запустить MySQL Community Server.
-- Тема: Услуга mysql.service завершила работу с ошибкой
-- Определено: systemd
-- Поддержка: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Услуга mysql.service завершила работу с ошибкой.
--
-- Результат - неудача.
25 фев 16:26:23 GBRTEF01LX005 systemd[1]: mysql.service: Услуга вошла в состояние неудачи.
25 фев 16:26:23 GBRTEF01LX005 systemd[1]: mysql.service: Завершилась с результатом 'exit-code'.
25 фев 16:26:23 GBRTEF01LX005 systemd[1]: mysql.service: Время ожидания службы истекло, планируется перезапуск.
25 фев 16:26:23 GBRTEF01LX005 systemd[1]: Остановлен MySQL Community Server.
-- Тема: Услуга mysql.service завершила завершение работы
-- Определено: systemd
-- Поддержка: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Услуга mysql.service завершила завершение работы.
25 фев 16:26:23 GBRTEF01LX005 systemd[1]: Запуск MySQL Community Server...
-- Тема: Услуга mysql.service начала запуск
-- Определено: systemd
-- Поддержка: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Услуга mysql.service начала запуск.
25 фев 16:26:23 GBRTEF01LX005 audit[11846]: AVC apparmor="DENIED" операция="open" профиль="/usr/sbin/mysqld" имя="/proc/11846/status" pid=11846 comm="mysqld" запрашиваемая_маска="r" запрещенная_маска="r" fsuid=107 ouid=107
25 фев 16:26:23 GBRTEF01LX005 audit[11846]: AVC apparmor="DENIED" операция="open" профиль="/usr/sbin/mysqld" имя="/sys/devices/system/node/" pid=11846 comm="mysqld" запрашиваемая_маска="r" запрещенная_маска="r" fsuid=107 ouid=0
25 фев 16:26:23 GBRTEF01LX005 audit[11846]: AVC apparmor="DENIED" операция="open" профиль="/usr/sbin/mysqld" имя="/proc/11846/status" pid=11846 comm="mysqld" запрашиваемая_маска="r" запрещенная_маска="r" fsuid=107 ouid=107
25 фев 16:26:23 GBRTEF01LX005 kernel: audit: type=1400 audit(1519575983.239:317): apparmor="DENIED" операция="open" профиль="/usr/sbin/mysqld" имя="/proc/11846/status" pid=11846 comm="mysqld" запрашиваемая_маска="r" запрещенная_маска="r" fsuid=107 ouid=107
25 фев 16:26:23 GBRTEF01LX005 kernel: audit: type=1400 audit(1519575983.239:318): apparmor="DENIED" операция="open" профиль="/usr/sbin/mysqld" имя="/sys/devices/system/node/" pid=11846 comm="mysqld" запрашиваемая_маска="r" запрещенная_маска="r" fsuid=107 ouid=0
25 фев 16:26:23 GBRTEF01LX005 kernel: audit: type=1400 audit(1519575983.239:319): apparmor="DENIED" операция="open" профиль="/usr/sbin/mysqld" имя="/proc/11846/status" pid=11846 comm="mysqld" запрашиваемая_маска="r" запрещенная_маска="r" fsuid=107 ouid=107
25 фев 16:26:25 GBRTEF01LX005 systemd[1]: mysql.service: Главный процесс завершился, код=exited, статус=1/FAILURE

Любая помощь будет весьма признательна! спасибо.

Хосе

Я столкнулся с этой ошибкой на Armbian 20.08.5 Bionic с Linux 5.4.65.

Проблема заключалась в отсутствующей директории логов в /var/log/mysql, что было указано в записи журнала в /var/log/syslog. Создание директории /var/log/mysql с владельцем mysql и группой adm исправило это для меня.

mkdir /var/log/mysql
chown mysql:adm /var/log/mysql

# запустите mysql с вашей системой инициализации (например, systemctl start mysql)

Ответ или решение

Решение проблемы: "Job for mysql.service failed because the control process exited with error code"

Введение

Сообщение об ошибке "Job for mysql.service failed because the control process exited with error code" может возникнуть в различных ситуациях, когда служба MySQL не может быть запущена. Данная инструкция направлена на определение причин и решение проблемы на основе предоставленных вами данных.

Шаг 1: Проверка состояния службы MySQL

Для начала стоит проверить состояние службы MySQL с помощью команды:

systemctl status mysql.service

Эта команда предоставит информацию о текущем состоянии службы и возможные ошибки, которые могли произойти в процессе запуска.

Шаг 2: Просмотр логов

Второй важный шаг — анализ логов. Вы уже использовали команду:

journalctl -xe

И получили, что в логах присутствуют сообщения об ошибках, связанных с AppArmor:

apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" ...

Эти ошибки указывают на то, что служба MySQL не имеет доступа к определённым ресурсам системы, что может вызвать сбой.

Шаг 3: Проверьте директорию логов MySQL

Сообщения об ошибках также могут указывать на отсутствие директории, которая отвечает за хранение логов MySQL. Проверьте, существует ли директория /var/log/mysql. Если она отсутствует, создайте её:

mkdir /var/log/mysql
chown mysql:adm /var/log/mysql

Эти команды создадут необходимую директорию и установят правильные права доступа.

Шаг 4: Настройки AppArmor

Если проблема связана с AppArmor, возможно, потребуется внести изменения в профиль AppArmor для MySQL. Профили AppArmor можно настраивать, чтобы разрешить доступ к необходимым ресурсам. Для этого отредактируйте файл профиля, который обычно находится в /etc/apparmor.d/usr.sbin.mysqld. Добавьте необходимые разрешения и перезагрузите AppArmor:

sudo systemctl reload apparmor

Шаг 5: Проверка конфигурации MySQL

Также стоит проверить конфигурацию MySQL на наличие ошибок. Откройте файл конфигурации (/etc/mysql/my.cnf или аналогичный) и убедитесь, что все параметры указаны правильно. Обратите внимание на параметр innodb_buffer_pool_size, который в вашем случае установлен в 20М. Если у вас достаточно ресурсов, попробуйте увеличить этот параметр.

Шаг 6: Перезапуск службы MySQL

После всех предпринятых действий попробуйте снова запустить службу:

sudo systemctl start mysql.service

Заключение

Если после выполнения всех этих шагов проблема не устранена, рекомендуется исследовать дополнительные логи, такие как /var/log/mysql/error.log, чтобы получить более детальную информацию о том, что может идти не так. Правильная диагностика и решение проблемы являются ключом к восстановлению работы MySQL, что, в свою очередь, положительно скажется на доступности вашего приложения, такого как Bugzilla.

Если у вас остались вопросы или возникли дополнительные затруднения, стоит обратиться за помощью на соответствующие форумы или к профессиональным сервисам технической поддержки.

Оцените материал
Добавить комментарий

Капча загружается...