Як відновити таблицю.

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