Импортиране на архив в MySQL база данни през phpMyAdmin

Помощен център

Импортиране на архив в MySQL база данни през phpMyAdmin

Можем да създадем MySQL архив през phpMyAdmin по два начина в зависимост от това коя опция изберем при кликане на бутона Import - Quick или Custom:

  • при избран радио бутон (по подразбиране) Quick трябва само да кликнем бутона Go и архивния .sql файл с името на базата данни се записва на нашия компютър. Ние ще преименуваме този файл на quick.sql:

phpmyadmin import

  • при включване на радио бутона Custom се отварят няколко секции с допълнителни опции:

phpmyadmin import

но в конкретния случай само една от тях ни интересува - Add drop table в секция Opject creation options:

phpmyadmin import

Отново кликаме бутона Go, архивният файл се записва на нашия компютър и го преименуваме на custom.sql.

Тестово хакване на сайт

Имаме архиви, време е да повредим нашия сайт, за да може архивите да влязат в действие.

В базата данни променихме съдържанието на заглавието и описанието на началната страница на сайта:

phpmyadmin import

Много потребители, използващи стари или нулирани (хакнати) темплейти са преживяли подобна неприятна изненада, отваряйки сайта да видят на дисплея съдържание, което не са си и помисляли да публикуват.

Атакуващите, (известни като "хактивисти"), избират да повредят (deface) уеб сайтовете за да публикуват свои виждания по дадена тема или просто заради самото хакване.

Място за притеснение относно възстановяването на нашия сайт няма тъй като ние разполагаме с подходящ архив (дори два :).

Сега ще ви покажем разликата при импортирането на двата архива.

Импортиране на Quick архива

За да импортираме архива трябва да отворим phpMyAdmin, да изберем от менюто коректната база данни и да кликнем бутона Import:

phpmyadmin import

Кликаме бутона за да стартираме възстановяването и получаваме грешка, която казва, че таблица със същото име вече съществува в базата данни:

MySQL said:
#1050 - Table 'cache_commentmeta' already exists

phpmyadmin import

Това ни показва, че Quick архивите са удачни само при импортиране в празна база данни тъй като не могат да пренаписват съществуващи таблици.

За да възстановим сайта трябва да изтрием наличните таблици като кликнем линка Check all и от падащия списък With selected изберем опцията Drop:

phpmyadmin import

Трябва да потвърдим изтриването като кликнем бутона Yes:

phpmyadmin import

Ако кликнем линка с името на базата данни ще видим, че наистина всички таблици са изтрити:

phpmyadmin import

Сега отново кликаме бутона Import, избираме същия архивен файл quick.sql и кликаме бутона Go.

Получаваме потвърждение за успешен импорт:

phpmyadmin import

Рефрешваме сайта и оригиналните заглавие и описание се зареждат коректно:

phpmyadmin import

Сега ще повредим отново заглавието за да изпълним втората част от нашия тест.

Импортиране на Custom архива

Този път само изтрихме съществуващите заглавие и описание:

phpmyadmin import

Отново кликаме бутона Import, избираме другият архивен файл custom.sql и кликаме бутона Go:

phpmyadmin import

Получаваме потвърждение за успешно импортиране.

Въпреки наличните таблици в базата данни, маркираната опция Add drop table позволява на phpMyAdmin да пренапише съществуващата (повредената база данни) с архива за възстановяване:

phpmyadmin import

Като във филм на Disney накрая всички са щастливи защото сайта отново е възстановен :)

phpmyadmin import