Сьогодні MySQL є одним з найбільш популярних рішень серед малих і середніх систем управління базами даних. З переваг MySQL можна виділити можливість роботи з таблицями різних типів. Один з них — MyISAM. Такі таблиці відмінно підходять для зберігання часто запитуваних даних, але при збоях в процесі модифікації можуть бути легко ушкоджені. Тому нерідкі випадки, коли потрібно відновити таблицю типу MyISAM.
Вам знадобиться
— облікові дані root на цільовій машині;
- Встановлений пакет утиліт адміністрування MySQL сервера.
Інструкція
- < br />
Почніть сеанс роботи з обліковими даними користувача root на машині з функціонуючим сервером MySQL, під управлінням якого перебуває база даних, імовірно має пошкоджені таблиці. Якщо є можливість безпосередньої роботи з цільовим комп’ютером, здійсніть вхід в текстову консоль або запустіть емулятор терміналу з правами root. Якщо є віддалений доступ по SSH, використовуйте відповідну програму-клієнт для здійснення підключення.
- < br />
Зупиніть сервер баз даних MySQL на цільовій машині. Виконайте команду service mysqld stop. Дочекайтеся завершення процесу зупинки (про це буде свідчити діагностичне повідомлення).
- < br />
Створіть резервну копію файлів таблиць бази даних, з якою буде проводитися подальша робота. При цьому зручно використовувати файловий менеджер. Перейдіть в папку, яка містить файли таблиць. Вона має ім’я, ідентичне назві бази даних і розташовується в директорії db, яка знаходиться в кореневому каталозі сервера (адресується змінної chroot файлу конфігурації my.cnf). Скопіюйте з поточної папки в яку-небудь тимчасову директорію всі файли з розширенням MYD і MYI.
- < br />
Здійсніть перевірку однієї або декількох таблиць бази даних на предмет виявлення пошкоджень. В поточному каталозі виконайте команду myisamchk з опцією-c (або взагалі без опцій) для звичайного сканування. Використовуйте опцію-m для ретельної, і опцію-e для особливо ретельної перевірки. В якості останнього параметра вкажіть ім’я або маску імен файлів, які будуть оброблені. Наприклад:myisamchk-c test_table.MYI
myisamchk *. MYI - < br />
Відновіть таблицю або таблиці, в яких були знайдені ушкодження. Виконайте команду myisamchk з опцією-r для звичайного або з опцією-o для «дбайливого» відновлення. В якості останнього параметра, як і в попередньому кроці, передавайте ім’я або маску імен цільових таблиць. Наприклад:myisamchk-o test_table.MYI
- < br />
Запустіть сервер MySQL. Виконайте команду service mysqld start.
- < br />
Закінчіть сеанс роботи. Введіть команду exit і натисніть Enter.