Виправлення помилки MySQL “Server Quit Without Updating PID File” на VPS AvaHost

Помилка MySQL The server quit without updating PID file вказує на те, що сервер MySQL не зміг запуститися і не зміг оновити свій файл ідентифікатора процесу (PID), порушивши роботу бази даних. Ця проблема може вплинути на користувачів VPS, які використовують такі програми, як Redmine, WordPress або торгові платформи, що покладаються на MySQL. Використовуючи високопродуктивні твердотільні накопичувачі NVMe та інструменти cPanel, цей посібник розглядає причини цієї помилки та пропонує чіткі, дієві рішення для відновлення функціональності MySQL на вашому VPS AvaHost на базі Ubuntu або CentOS.

Причини помилки

  1. Недостатньо місця на диску
    Якщо на вашому сервері не вистачає місця на диску, MySQL може не запуститися, оскільки не зможе записати необхідні журнали та PID-файли.
  2. Неправильні дозволи на файли та каталоги
    MySQL вимагає певних прав власності та дозволів на конфігурацію та каталоги даних. Якщо вони неправильні, MySQL не зможе створити або оновити PID-файл.
  3. Пошкодження файлів даних MySQL
    Пошкодження файлів даних MySQL може призвести до неможливості запуску сервера. Це часто спричинено неправильним вимкненням або проблемами файлової системи.
  4. Помилки конфігурації MySQL
    Помилки в my.cnf (конфігураційний файл MySQL) можуть призвести до збою MySQL при запуску. Неправильні шляхи до журналів, каталогів даних або файлів сокетів є поширеними причинами.
  5. Конфлікти між існуючими процесами MySQL
    Якщо запущено старий процес MySQL або попередній екземпляр не було завершено належним чином, це може перешкоджати запуску нового екземпляра.
  6. Обмеження SELinux або AppArmor
    Політики безпеки, що застосовуються SELinux або AppArmor, можуть завадити MySQL записати PID-файл або отримати доступ до необхідних каталогів.

Як виправити помилку

1. Перевірка доступного місця на диску

Запустіть наступну команду, щоб перевірити, чи заповнений диск:

df -h

Якщо диск переповнений, звільніть місце, видаливши непотрібні файли або збільшивши розмір диска.

2. Перевірка логів служби MySQL

Перегляньте журнали помилок MySQL, щоб визначити першопричину:

tail -f /var/log/mysql/error.log

Або, для деяких дистрибутивів:

tail -f /var/log/mysqld.log

3. Перевірте права доступу до файлів і каталогів

Переконайтеся, що MySQL має правильні права власності та дозволи:

sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod -R 755 /var/lib/mysql

Також перевірте, чи існує каталог /var/run/mysqld/:

sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld

4. Відновлення файлів даних MySQL

Якщо ви підозрюєте пошкодження, спробуйте запустити:

sudo mysqlcheck --all-databases

Або спробуйте перезапустити MySQL в режимі відновлення:

sudo mysqld_safe --skip-grant-tables --skip-networking &

5. Перевірте файл конфігурації MySQL(my.cnf)

Перевірте наявність неправильних конфігурацій:

cat /etc/mysql/my.cnf

Шукайте неправильно налаштовані шляхи або конфліктуючі налаштування. Якщо необхідно, відновіть конфігурацію за замовчуванням.

6. Вимкнення застарілих процесів MySQL

Якщо запущено старий процес MySQL, завершіть його:

sudo pkill -9 mysqld

Потім спробуйте перезапустити MySQL:

sudo systemctl start mysql

7. Вимкніть SELinux/AppArmor (якщо необхідно)

Тимчасово вимкнути SELinux:

sudo setenforce 0

Для AppArmor спробуйте вивантажити профіль MySQL:

sudo aa-complain /etc/apparmor.d/usr.sbin.mysqld

8. Перевстановіть MySQL (в крайньому випадку)

Якщо нічого не допомогло, перевстановіть MySQL:

sudo apt remove --purge mysql-server
sudo apt install mysql-server

Переконайтеся, що ви створили резервну копію ваших даних перед спробою перевстановлення.

Висновок

Помилка “Сервер завершив роботу без оновлення PID-файлу” в MySQL може виникати з різних причин, таких як проблеми з правами доступу, пошкоджені файли даних, помилки конфігурації або нестача місця на диску. Систематично усуваючи кожну потенційну причину і застосовуючи відповідні виправлення, ви можете відновити функціональність MySQL і запобігти виникненню цієї проблеми в майбутньому. Регулярне обслуговування, правильне вимкнення та моніторинг допоможуть уникнути подібних проблем у майбутньому.