MySQL помилка – Сервер завершив роботу без оновлення PID файлу
Помилка “Сервер завершив роботу, не оновивши файл PID” зазвичай виникає, коли MySQL не вдається правильно запуститися або раптово завершує роботу. Файл PID (ідентифікатор процесу) – це невеликий файл, який MySQL використовує для відстеження свого ідентифікатора процесу, і зазвичай він зберігається в каталозі даних MySQL. Коли MySQL не може створити або оновити цей файл, це може вказувати на проблему з конфігурацією, правами доступу або іншими основними проблемами.
Ось посібник з усунення неполадок і виправлення цієї помилки:
Загальні причини помилки
- Неправильна конфігурація MySQL: Помилки у файлі конфігурації my.cnf можуть призвести до того, що MySQL не зможе запуститися.
- Права доступу до файлів і каталогів: Неправильна власність або права доступу до каталогів або файлів даних MySQL.
- Проблеми з дисковим простором: Заповнений диск або обмежений простір на розділі, де встановлено MySQL, можуть завадити запуску MySQL.
- Пошкоджені таблиці MySQL: Пошкодження у файлах даних MySQL також може призвести до проблем із запуском.
- Кілька екземплярів: Якщо кілька екземплярів MySQL або MariaDB намагаються працювати одночасно, вони можуть конфліктувати один з одним.
Покрокове виправлення помилки
- Перевірте журнал помилок MySQL. Журнал помилок часто надає найбільше інформації про те, чому MySQL не вдалося запуститися. Знайдіть журнал помилок MySQL (зазвичай mysql.err або mysqld.log):
cat /var/log/mysql/error.logШукайте конкретні помилки або повідомлення, які вказують, чому MySQL зупинився.
- Перевірте місце розташування файлу PID. Повідомлення про помилку згадує місце розташування файлу PID. Перевірте, що каталог файлу PID існує і що MySQL має право на запис у нього. Перевірте файл конфігурації my.cnf, щоб знайти очікуване місце розташування файлу PID:
sudo nano /etc/mysql/my.cnfШукайте рядок, подібний до:
pid-file = /var/run/mysqld/mysqld.pidПереконайтеся, що каталог існує:
sudo mkdir -p /var/run/mysqldВстановіть відповідну власність:
sudo chown mysql:mysql /var/run/mysqld - Перевірте права доступу до файлів і каталогів. Переконайтеся, що MySQL має правильну власність і права доступу для каталогу даних та його файлів:
sudo chown -R mysql:mysql /var/lib/mysqlsudo chmod -R 755 /var/lib/mysqlЦе надає MySQL права на читання та запис у свій власний каталог даних.
- Переконайтеся, що є достатньо дискового простору. Перевірте, що на розділі, де встановлено MySQL, є достатньо вільного місця:
df -hЯкщо диск заповнений, вам, можливо, потрібно буде звільнити місце перед перезапуском MySQL.
- Перевірте наявність кількох екземплярів. Якщо інший екземпляр MySQL або MariaDB працює, це може викликати конфлікти. Зупиніть будь-які запущені екземпляри:
sudo systemctl stop mysqlsudo systemctl stop mariadbЗавершіть будь-які залишкові процеси MySQL:
sudo killall -9 mysqld - Виправте таблиці MySQL. Якщо журнал помилок вказує на пошкодження таблиць, спробуйте відремонтувати таблиці:
sudo mysqlcheck --all-databases --repair --user=root --passwordЗамініть root на ваше ім’я користувача MySQL.
- Виправте проблеми з конфігурацією MySQL. Якщо є проблеми з файлом конфігурації my.cnf, спробуйте закоментувати проблемні рядки або повернутися до стандартної конфігурації. Зробіть резервну копію поточного my.cnf:
sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.backupЗакоментуйте або видаліть нестандартні налаштування та перезапустіть MySQL:
sudo nano /etc/mysql/my.cnf - Перезапустіть MySQL. Після внесення необхідних змін спробуйте перезапустити MySQL:
sudo systemctl restart mysqlАбо для систем, що використовують службу:
sudo service mysql restartПеревірте статус, щоб переконатися, що він працює:
sudo systemctl status mysql - Перевстановіть MySQL (останній засіб). Якщо жоден з наведених вище кроків не спрацював, як останній засіб, ви можете спробувати перевстановити MySQL. Це може призвести до втрати даних, якщо резервна копія недоступна, тому переконайтеся, що ви зробили резервну копію важливих баз даних перед продовженням:
sudo apt-get remove --purge mysql-server mysql-client mysql-commonsudo apt-get autoremovesudo apt-get autocleanПотім перевстановіть MySQL:
sudo apt-get install mysql-server
Висновок
Помилку “Сервер завершив роботу, не оновивши файл PID” можна вирішити, перевіривши файли конфігурації, підтвердивши права доступу, забезпечивши достатній дисковий простір і виправивши будь-які основні конфлікти. Дотримуючись наведених вище кроків, ви повинні зуміти визначити причину помилки і знову запустити ваш сервер MySQL. Завжди пам’ятайте про резервне копіювання ваших баз даних перед внесенням значних змін або перевстановленням MySQL, щоб уникнути втрати даних.
