Като една от водещите свободно достъпни бази данни, MySQL е популярен избор за всички видове уеб приложения. Излагайки се на интернет, приложението ви, разбира се, е изложено на злонамерени атаки. Ако сървърът Ви е компрометиран, в най-добрия случай ще трябва да инсталирате отново приложението си; в най-лошия случай, може да загубите изцяло данните си. В крайна сметка ще бъдете в ситуация, в която трябва да мигрирате база данни от един сървър на друг.
За какво се използва MySQL?
Най- mysqldump инструмент сте покрили и в двете ситуации. Основната функция е да се вземе MySQL база данни и да се "изхвърли" като текстов файл. Но не само всеки текстов файл … файлът е a набор от SQL изрази, Тези изявления, когато бъдат изпълнени, ще преконструират базата ви данни до точното състояние, в което се намира, когато изпълните дупката.
Така че можете да използвате mysqldump да извършва износ на база данни. Те могат да бъдат за целите на архивиране или защото премествате базата данни в нов хост. И в двата случая, в един момент внос текстовия файл обратно в сървър на база данни MySQL. Той ще изпълни всички SQL изрази във файла, които възстановяват вашия DB в първоначалното му състояние. Тази част всъщност не използва mysqldump команда, но няма да е възможно без тази полезност!
Документите в MySQL изброяват други методи за създаване на резервни копия, но всички те имат свои собствени недостатъци:
- Hotcopying DB от MySQL Enterprise е чудесен начин да постигнете тези архиви … ако нямате нищо против цената на Enterprise.
- Копирането на директории с данни на DB може да бъде трудно, ако се движите между операционните системи, тъй като техните местоназначения ще бъдат различни.
- Експортирането в ограничен текстов файл ще ви даде съдържанието, но ще трябва да пресъздадете самата структура. И по-добре да го направите точно …
- Често можете да архивирате бази данни от графични програми като MySQL Workbench. Но това е ръчен процес, т.е. не е нещо, което можете да скриете или включите в партидна работа.
Инсталиране на инструмента mysqldump
Ако се интересувате от тази статия, вероятно имате вече инсталирана MySQL. Ако това е така, добра новина - вече имате mysqldump! Ако не, можете просто да инсталирате MySQL по стандартния начин за вашата операционна система.
За Windows, проверете тук нашите инструкции за инсталиране на MySQL на Windows 7 (процесът на инсталиране все още е същият). По същия начин в macOS вижте указанията ни за инсталиране на MySQL на macOS 10.7 (отново, по-стари, но все още приложими). Потребителите на базирани на Ubuntu системи Linux могат да използват следната команда за инсталиране на MySQL клиент и помощни програми:
sudo apt инсталирате mysql-клиент Веднъж инсталиран, можете да го използвате mysqldump за да получите пълен архив на базата данни. mysqldump -h името на вашия хост на DB или IP -u име на DB потребител -p името на базата данни> db_backup.sql
Нека да разчупим малко тази команда: Когато приключите, ще имате .SQL файл. Това е само текстов файл, съдържащ SQL изрази. Можете да го отворите във всеки текстов редактор, за да инспектирате съдържанието. Когато разглеждате износа от базата данни на WordPress, можете да видите как тези файлове са събрани. Файлът е разделен на секции. В горното изображение можем да видим първата секция, която създава таблицата за коментари в WordPress. Вторият раздел след това пресъздава съдържанието (т.е. коментарите), което е било в тези таблици. Когато отидете отново да импортирате вашето MySQL дъмп отново, командата ще работи чрез файла, изпълнявайки изявленията и повторно изграждане на вашата база данни точно така. Как да го направите? Нека да погледнем. Преди да можете да направите това, ще ви е необходима вече създадена база данни и имате валидно потребителско име и парола. Трябва също така да имате всички разрешения за базата данни. (Строго погледнато, нямате нужда от Дарение разрешение, но е по-лесно просто да ги дадете.) Можете да намерите подробности за разрешенията за бази данни в тази статия. За да импортирате отново данните си, изпълнете следните стъпки: Когато приключите, ще видите дълъг списък от съобщения, които отбелязват, че SQL изразите се изпълняват. Обърнете внимание на грешките, но ако имате подходящите разрешения, трябва да сте добре, тъй като това е празна база данни. След като процесът приключи, ще имате дубликат на оригиналната си база данни. Можете да проверите това, като направите друга дъмп и сравнявате двата изхода. Приличен текстов редактор ще бъде в състояние да направи това за вас, или специален инструмент * diff * като този, показан на изображението по-долу: Има само две разлики между тези файлове, представени с червени линии в горната и долната част на дясната лента за превъртане. Първият е редът, който съдържа името на базата данни и очакваме това да е различно, защото ги наименувахме по различен начин. Второто, в края на краищата, е клеймото за файла с дъмп. И ние също така очакваме това да бъде различно, тъй като пресъздадохме втората база данни след първата. В противен случай файловете са същите, което означава, че базите данни, които ги генерират, са също така! Извличане на MySQL Dump
Импортиране на MySQL Dump File