Не запускается Zabbix после отключения электричества

В данной статья вы узнаете почему может не запускаться zabbix после резкой перезагрузки сервера, в моем случае у меня сел UPS и теперь каждый скачок электричества приводит к выключению компа, тут я покажу алгоритм действий которые необходимо сделать чтобы понять причину ошибки и ее устранение.

Всем привет, вышел сегодня из отпуска и мой локальный тестовый стенд на котором я развернул zabbix лежит мертвым грузом и не дышит, при включении виртуалки меня в админке встречает ошибка с коннектом mysql

Не запускается Zabbix после отключения электричества

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

т.к. нам в админке дали намек, что проблема с доступом в базу данных, мы посмотрим, что у нас случилось с mysql и для этого проверим статус этой службы командой – systemctl status mysqld

или выводим лог zabbix – tail -50 /var/log/zabbix/zabbix_server.log
oot@appliance zabbix]# systemctl status mysqld
● mysqld.service - MySQL 8.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/mysqld.service.d
           └─override.conf
   Active: failed (Result: exit-code) since Mon 2025-08-11 09:14:22 MSK; 10min ago
  Process: 1150 ExecStopPost=/usr/libexec/mysql-wait-stop (code=exited, status=0/SUCCESS)
  Process: 1091 ExecStart=/usr/libexec/mysqld --basedir=/usr (code=exited, status=1/FAILURE)
  Process: 1052 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)
  Process: 1001 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
 Main PID: 1091 (code=exited, status=1/FAILURE)
   Status: "Server shutdown complete"
    Error: 17 (File exists)

Aug 11 09:14:16 appliance systemd[1]: Starting MySQL 8.0 database server...
Aug 11 09:14:16 appliance mysql-check-socket[1001]: Socket file /var/lib/mysql/mysql.sock exists.
Aug 11 09:14:16 appliance mysql-check-socket[1001]: No process is using /var/lib/mysql/mysql.sock, which means it is a garbage, so it will be remov>
Aug 11 09:14:22 appliance systemd[1]: mysqld.service: Main process exited, code=exited, status=1/FAILURE
Aug 11 09:14:22 appliance systemd[1]: mysqld.service: Failed with result 'exit-code'.
Aug 11 09:14:22 appliance systemd[1]: Failed to start MySQL 8.0 database server.
По ошибке видим что MySQL 8.0 падает сразу при старте.
По логу видим, что он дошёл до запуска, но упал с status=1/FAILURE.

Теперь переходим к след шагу где нужно посмотреть журнал ошибок MySQL, он всегда пишет причину падения, для этого используем команду tail -50 /var/log/mysql/mysqld.log

[root@appliance mysql]# tail -50 ./mysqld.log
2025-08-11T06:14:17.720176Z 0 [Warning] [MY-011070] [Server] 'binlog_format' is deprecated and will be removed in a future release.
2025-08-11T06:14:17.727923Z 0 [Warning] [MY-010918] [Server] 'default_authentication_plugin' is deprecated and will be removed in a future release. Please use authentication_policy instead.
2025-08-11T06:14:17.728253Z 0 [System] [MY-010116] [Server] /usr/libexec/mysqld (mysqld 8.0.41) starting as process 1091
2025-08-11T06:14:17.759451Z 0 [Warning] [MY-013907] [InnoDB] Deprecated configuration parameters innodb_log_file_size and/or innodb_log_files_in_group have been used to compute innodb_redo_log_capacity=536870912. Please use innodb_redo_log_capacity instead.
2025-08-11T06:14:17.769362Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-08-11T06:14:19.182909Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2025-08-11T06:14:19.416412Z 0 [ERROR] [MY-011300] [Server] Plugin mysqlx reported: 'Setup of socket: '/var/lib/mysql/mysqlx.sock' failed, another process with PID 1118 is using UNIX socket file'
2025-08-11T06:14:20.303871Z 0 [System] [MY-010229] [Server] Starting XA crash recovery...
2025-08-11T06:14:20.348784Z 0 [System] [MY-010232] [Server] XA crash recovery finished.
2025-08-11T06:14:20.648376Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2025-08-11T06:14:20.648392Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2025-08-11T06:14:20.649260Z 0 [ERROR] [MY-010259] [Server] Another process with pid 1118 is using unix socket file.
2025-08-11T06:14:20.649267Z 0 [ERROR] [MY-010268] [Server] Unable to setup unix socket lock file.
2025-08-11T06:14:20.649293Z 0 [ERROR] [MY-010119] [Server] Aborting
2025-08-11T06:14:22.918699Z 0 [System] [MY-010910] [Server] /usr/libexec/mysqld: Shutdown complete (mysqld 8.0.41)  Source distribution.
Вот мы и нашли причину не запуска zabbix
MySQL не стартует, потому что остался зависший процесс и файл сокета после сбоя питания.
это видно в тексте:
Another process with pid 1118 is using unix socket file
Unable to setup unix socket lock file

Это значит, что MySQL думает, что он уже запущен, потому что файл /var/lib/mysql/mysql.sock и PID-файл остались после аварийного отключения.

Как это решить вы уже наверное поняли сами, если нет , вот последовательность действий:

1) Останавливаем Mysql

systemctl stop mysqld

2) Проверяем остались ли процессы MySQL в системе

ps aux | grep mysqld

3) Если видим что весит процесс mysqld “убиваем” его

kill -9 <PID>

4) удаляем все файлы пиды и соксы

rm -f /var/lib/mysql/mysql.sock
rm -f /var/lib/mysql/*.pid

5) Запускаем Mysql

systemctl start mysqld

6) проверяем что все запустилось

systemctl status mysqld

и на выходе получаем

[root@appliance mysql]# systemctl status mysqld
● mysqld.service - MySQL 8.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/mysqld.service.d
           └─override.conf
   Active: active (running) since Mon 2025-08-11 09:30:10 MSK; 2s ago
  Process: 1150 ExecStopPost=/usr/libexec/mysql-wait-stop (code=exited, status=0/SUCCESS)
  Process: 1453 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)
  Process: 1372 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)
  Process: 1347 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
 Main PID: 1409 (mysqld)
   Status: "Server is operational"
    Tasks: 38 (limit: 50660)
   Memory: 471.4M
   CGroup: /system.slice/mysqld.service
           └─1409 /usr/libexec/mysqld --basedir=/usr

Aug 11 09:30:09 appliance systemd[1]: Starting MySQL 8.0 database server...
Aug 11 09:30:10 appliance systemd[1]: Started MySQL 8.0 database server.

и замечательную картинку в админке

Не запускается Zabbix после отключения электричества
Обязательно запустите еще утилиту чтобы она проверила таблицы на предмет поломки –
mysqlcheck -A –auto-repair -u root -p

Виталий nibbl

Привет 👋 Меня зовут Виталий, в сети я известен как Виталий Nibbl. С 2009 года я в IT и люблю задачки, от которых у других опускаются руки. Если вам сказали, что - "это невозможно" — значит, вы просто ещё не обратились ко мне 😎 В моих блогах на YouTube и Telegram вы найдёте пошаговые инструкции и решения любых сложностей. А ещё я профессионально скачиваю видео с любых платформ и всегда на связи по IT-вопросам.

Оцените автора
NIBBL

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Оценка

PROS

+
Add Pros

Cons

+
Add Cons