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

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


Сьогодні 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.