Хостинг Zenon п
Вие работите на вашия уеб проект, който използва MySQL база данни. Разбира се, всеки сериозен проект предполага, че периодично ще създадете резервно копие на всички данни, използвани в работата. Това е де факто стандарт подход. Нещо повече, без това е невъзможно да се гарантира непрекъснатостта на посетителите на вашия сайт. Ако сайтът предоставя бизнес услуги, наличието на архива е направо необходимост.
Направете копие на всички статични HTML- и други документи лесно. Също така е лесно да се периодично "отложи на една страна" и копие от сценария. Много по-трудно е задачата за създаване на копие (наричан архивиране) динамична структура и данни за бази данни MySQL. Основните трудности, които възникват пред администратора поставя на място за настаняване, обикновено са:
1. Липса на физически достъп до файловете на базата данни. Обикновено хостинг доставчици предлагат възможност за работа с базата данни само чрез специални скриптове или MySQL клиент, но не дават право на достъп директно до файловете, които съдържат данни от MySQL-база данни.
2. Липсата на администратора на знания за това как да се направи трябва да направите резервно копие. Обикновено този проблем се появява само когато "трудни времена." Това означава, че в случай на повреда, инвазията на хакери или други извънредни ситуации. Уебмастъри просто не са готови за незабавна архивиране и започват трескаво да проучи документацията за MySQL, с течение на времето.
Как да направите база данни MySQL
Има mysqldump програма. Тя ви позволява бързо и лесно да извършва операции за създаване на резервни копия на MySQL бази данни. Mysqldump също така дава възможност да се направи много фини настройки за управление на процеса на създаване на резервни копия на бази данни или отделни маси. Можем да кажем, че mysqldump - е основният инструмент, което трябва да се използва в случай, ако го направите резервно копие на MySQL.
Незабавно е проста задача, която ще бъде решен с помощта на mysqldump, и да видим какво е това, което. Има уеб хостинг, има DBNAME базата данни, която разпределя на доставчик на хостинг услуги. Има домакин на домакин, който е домакин на сървъра MySQL, вход вход към него, пристанището на пристанището, на която работи сървъра и парола премине. С всички тези данни, можем да зареже (сметище, копие) база DBNAME така (извършва в UNIX черупки):
> Mysqldump -uLOGIN -PPORT -hHOST -pPASSDBNAME> dump.txt
След изпълнението на тази команда в dump.txt файл ще имаме копие от DBNAME MySQL-база данни. Това ще се случи само в случай, разбира се, ако всички параметри, посочени от вас верни, в зависимост от настройките на своя хостинг. Веднага трябва да кажа, че mysqldump на програмата произвежда постигнатите резултати чрез директно до вас на STDIN, тоест, на екрана. Ние трябва да се пренасочи изхода към файл. Например, както в този случай - "> dump.txt". Ако това не бъде направено, а големият база, можете да получите на екрана всички тези мегабайта информация, която тя съдържа.
Ние поговорим малко за това, което прави mysqldump. Тази програма създава възстановяване на вашия сценарий данни. Това означава, че на изхода на mysqldump - това не е някаква абстрактна и нечетливи двоични данни, както и интелигентен текст скрипт. Например, ако вашата база данни има тест за маса, която е поле test2 тип данни число един и една позиция "1111", а след това ще създаде mysqldump за този сценарий:
По този начин, mysqldump "описват" всичките си таблици и създаване на INSERT-команда за възстановяване на данните в таблиците. Така че ние се пренасочи изхода mysqldump в текстов файл, който след това ще бъде използван, за да се възстанови. Помислете за един процес - реконструкция на база архива.
За възстановяване на програмата ще използва стандартната MySQL, която е включена в MySQL пакет с mysqldump. Да предположим, че имате резервно копие в dump.txt файл. Ние трябва да го възстановите до работна база. Например, ние случайно изтриване на нашата база данни, а сега се опитват да се коригира това лош късмет. Ние правим така.
> Mysql -uLOGIN -PPORT -hHOST -pPASSDBNAME ", колкото можете - това е ключът.
Друг много полезни съвети за използването на mysqldump в хостинг околната среда. Обикновено, когато се използва домакинството на потребителя някои ограничения. Например, не може да отнеме повече от определено количество физическа памет (RAM, RAM). mysqldump по подразбиране поставя всички получени от данните от MySQL-сървър в паметта, а след това всичко пише на диска. Съответно, ако доставчикът дава вземете, например, 30MB памет, както и основата, копие от който и да правите с помощта на mysqldump, заема 50MB, разбира се, че има грешка - mysqldump няма да работи правилно и ще се провали, това, което ще ви кажа. За да "да" на mysqldump да пишат директно данните на диска, а не да ги съхранява, макар и временно, в паметта, използвайте ключ --quick. Това ще реши проблема.
Ако базата данни е с голяма сума, а след това веднага можете да архивирате на сметището, и намаляване на основата за прехвърляне на данни команда MySQL от архива, например, както следва:
Някои доставчици налагат ограничение на допустимия размер на файла, който може да се управлява от потребителя. При много високи обеми от данни размер сметище файл може да надхвърли този лимит. В този случай, база пренасяне е възможно да не се изхвърлят и да стартирате директно mysqldump и командата MySQL:
Backup Automation
Сега мисля за това как бихме могли да се автоматизира процеса на създаване на резервни копия на бази данни. Така че, има програма - Cron. Тя ви позволява да стартирате процесите в определен от потребителя време или през определени интервали. Веднага уточни - Cron обикновено съществува само под Unix, така че ако използвате хостинг на Windows, консултирайте се с вашия доставчик на хостинг услуги за най-добрия начин, за да стартирате процеса, в точното време. Както и да е, може би, тази позиция ще бъде от интерес само за UNIX потребители.
В UNIX черупки тече кронтаб -е, и да се създаде правило, за да стартирате процеса на създаване на копия на базата данни:
0 0 * * * / ЮЕсАр / местни / хамбар / mysqldump -uLOGIN -PPORT -hHOST -pPASSDBNAME | софтуерна -С> `дата" + \ Y% - \% т - \. "` .gz
/ Directory-с-архиви -name "* .gz" -mtime 7, ще изтрие файловете, които са "по-старите" седем дни. Прочетете документацията на находката - тя е на разположение на мъжа намерите команда в UNIX черупка.