Збої в роботі сервера MySQL як правило можуть залишати за собою хвіст проблем, які починають виявлятися поступово, виливаючись у кінцевому підсумку проблеми з таблицями. Характерні ознаки при наявності помилок в таблицях бази даних можуть бути абсолютно різні, найбільш популярні з них це:
— Процес mysqld вантажить процесор по повній;
— Значне гальмування при зверненні до проблемної таблиці, як правило, проявляється на роботі сайту в певних місцях (там, де відбувається звернення до таблиці);
— Сайт відлітає в довгі думи з-за довгого відповіді сервера MySQL;
— Гальмування при зверненні до будь-якої таблиці;
— Падіння процесу mysqld;
— Та мабуть, найяскравіший ознака проблеми з таблицями бази даних, це виникнення такої помилки при старті: ERROR 144 (HY000) at line 1: Table ‘./dataBase/table’ is marked as crashed and last (automatic?) repair failed;
Тепер приступимо до вирішення проблеми. Гарантії 100% відновлення таблиць бази даних після збою бути не може, і це потрібно розуміти і бути готовим до такого розкладу. Однак є рішення, які в значній мірі можуть виправити ситуацію, а бути може і виправдати покладені на них надії, загалом, справа випадку.
Для перевірки і відновлення таблиць MyISAM в MySQL є утиліта myisamchk, яку можна використовувати для отримання інформації про таблицях бази даних і оптимізації. Якщо говорити про оптимізацію, то для більшості випадків можна також скористатися командою OPTIMIZE TABLES, є нюанси, цей варіант не такий швидкий, і не такий надійний (у разі фатальних помилок) як myisamchk. Виправлення помилок за допомогою myisamchk досить безпечно, але зробити резервну копію все-таки варто, оскільки в таблицю можуть бути внесені значні зміни.
Зупиніть сервер MySQL перед перевіркою таблиць:
/etc/init.d/mysql stop
Для старту перевірки і відновлення таблиць MySQL виконуємо таку команду:
myisamchk -r -q /var/lib/mysql/dataBase/table
де dataBase – ім’я бази даних, table – файл даних таблиці
Зверніть увагу, що таблиці типу MyISAM містяться у файлах, які мають розширення *.MYI і *.MYD. Після вводу команди, у вікні консолі будуть показані результати роботи і виправлення пошкоджених індексів перевіряється таблиці. Приклад:
– check delete record-chain
– recovering (with sort) MyISAM-table ‘dataBase/table’
Data records: 0
– Fixing index 1
– Fixing index 2
– Fixing index 4
Data records: 12422111
Після закінчення перевірки і виправлення помилок, можна пробувати стартувати сервер MySQL.
/etc/init.d/mysql start
Додав: htmaker, 03.12.2014 р.
(Ще не оцінили)
Завантаження…
Діліться з друзями:
См. також:
Оновлення пакетів в CentOS
Рубрика: Linux
Bash: mail: command not found
Рубрика: Linux
Виставляємо тимчасову зону в CentOS 7
Рубрика: Linux
Налаштування SELinux, включення, відключення
Рубрика: Linux, Інф. безпека
Змінюємо пароль root в MySQL 5.7
Рубрика: Linux, MySQL
Установка і настройка mSMTP на Linux
Рубрика: Linux
Установка GIT на CentOS 7
Рубрика: Linux
Як відключити IPv6 в CentOS 7?
Рубрика: Linux
Ротація логів в Linux
Рубрика: Apache, Linux