Твои действия при ошибке во время установки базы данных

«Твои действия при ошибке во время установки базы данных» — вопрос из категории Базы данных, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Мой первый шаг — анализ логов установки. Для систем на systemd использую journalctl -xe, также проверяю логи в /var/log/. Затем выполняю базовые проверки:

  1. Дисковое пространство: df -h для проверки места, особенно в /var/lib или каталоге данных СУБД.
  2. Зависимости: Убеждаюсь, что установлены все необходимые пакеты (например, apt list --installed | grep -E 'postgresql|mysql').
  3. Права доступа: Проверяю права на целевые каталоги командой ls -la /path/to/data.

Пример диагностики для PostgreSQL:

# Проверка логов СУБД
tail -n 100 /var/log/postgresql/postgresql-15-main.log
# Статус службы
sudo systemctl status postgresql
# Поиск ошибок в журнале systemd
sudo journalctl -u postgresql --since "5 minutes ago" --no-pager

Если проблема в конфигурации, правлю файл (например, /etc/postgresql/15/main/postgresql.conf), проверяю синтаксис и перезапускаю службу: sudo systemctl restart postgresql. Для критичных ошибок, таких как несовместимость версий или сбой инициализации кластера, использую процедуру отката из резервной копии или выполняю чистую переустановку с предварительным удалением данных и пакетов.