Настройка на резервно копие на Mysql. архивиране на базата данни на mysql

IN този документподробно описва принципите и процедурите, които трябва да се следват, за да се приложи стратегия за архивиране на MySQL на ниво предприятие, когато се използва агент за MySQL.

Това ръководство за потребителя съдържа описание различни методии стратегии за архивиране и възстановяване на MySQL бази данни с помощта на агента на изданието Enterprise. Тези методи също така позволяват софтуерът да бъде адаптиран и настроен за подобряване на производителността, ефективността, скоростта и мащабируемостта на различни подходи за архивиране на MySQL бази данни и свързани данни.

MySQL Auto Backup е проектиран да опрости и ускори MySQL архивирането на бази данни и възстановяването на MySQL. Софтуерза архивиране на база данни MySQL даннии неговото възстановяване е проектирано по такъв начин, че администраторът не трябва да знае как работят вградените инструменти за архивиране на MySQL, нито да може да създава сложни скриптове. Автоматично архивиране на MySQL с Bacula ще се създаде автоматично архивиране важна информация, като конфигурация или потребителски дефиниции. Архивирането на MySQL база данни също поддържа два метода: дъмп и архивиране на двоичен журнал.

Архивиране MySQL се предлага за 32 и 64 битови Linux платформи (Debian, Ubuntu, CentOS платформи и т.н.) и поддържа MySQL 4.0.x, 4.1.x, 5.0.x, 5.5.x, 5.6.x.

Как да архивирате MySQL: дъмп или двоичен журнал?

Таблицата по-долу ще ви помогне да изберете един от методите за архивиране на MySQL база данни. За да изберете как да архивирате MySQL база данни, трябва да решите дали искате да можете да възстановите MySQL до конкретна контролна точка или да филтрирате обекти по време на MySQL архивиране или възстановяване. Също така е възможно да комбинирате двата MySQL метода за архивиране за един и същ сървър.

Функции за автоматично архивиране на MySQL Dump файл двоичен дневник
Възможност за възстановяване на един MySQL обект (таблица, схема...) да Не
MySQL скорост на архивиране Бавно Бърз
Скорост на възстановяване на MySQL Толкова бавно Бърз
Размер на архива на MySQL база данни малък Голям
Възможност за възстановяване на MySQL до контролна точка да да
Поддръжка на инкрементално/диференциално архивиране на MySQL да да
MySQL онлайн архивиране да да
Последователност да да
Възстановяване на MySQL до предишна основна версия да Не
Възможност за възстановяване на MySQL до нова основна версия да Не

Оценяване на информация при архивиране на MySQL таблица

Екип оценкави позволява да покажете цялата информация, намерена от MySQL агента. В случай на режим на дъмп, нашият софтуер не може да оцени размера на файла на дъмп за базата данни. Вместо това ще покаже размера на базата данни.

Информация за архивиране на MySQL в dump режим

MySQL агентът ще генерира следните файлове в директорията Bacula за сървър, който има единична "тестова" база данни.

Файл Тип Обяснение
global-grants.sql глобален Списък с потребители, техните пароли и специални функции
settings.txt глобален Текущи променливи за mysql сървър
my.cnf глобален MySQL конфигурация
createdb.sql DB Скрипт за създаване на база данни
schema.sql DB Скрипт за създаване на схема на база данни
data.sql DB База данни в дъмп формат
grants.sql DB Списък на всички потребители, свързани с базата данни

Таблица 2. Съдържание на резервно копие на MySQL в режим на дъмп

Възстановяване на MySQL

Bacula ви позволява да възстановите резервно копие на MySQL в няколко режима на възстановяване:

  • Възстановяване на MySQL от дъмп файл или двоични регистрационни файлове
  • Възстановяване на потребители и роли
  • Възстановяване на единична MySQL база данни
  • Възстановяване на MySQL до контролна точка

За да възстанови резервно копие на MySQL в режим на двоичен журнал, агентът използва помощната програма percona.

Фигура 3: Съдържание на сървъра по време на възстановяване на MySQL

Фигура 4: Съдържание на базата данни по време на възстановяване на MySQL

Как да направите резервно копие на MySQL база данни, без да използвате плъгин безплатно

Изхвърляне на MySQL база данни

Този метод е напълно безплатен, тъй като ви позволява да архивирате MySQL с помощта на отворен кодВерсия на Bacula Community и без допълнителни добавки. Прости bash скриптове могат да се използват за архивиране на малки MySQL бази данни. В случай на архивиране на бази данни MySQL, можете да направите скрипт за архивиране на MySQL, който ще се изпълнява на клиента и ще изхвърли MySQL базата данни.

mysqldump -uuser -ppassword --all-databases | gzip > /opt/mysql_backup/backup.`date +%F`.sql.gz

find /home/bacula-backup/ -type f -mtime +3 -exec rm -f () \;

Този скрипт за архивиране на MySQL ще изхвърли всички MySQL бази данни в директорията /opt/mysql_backup/, от която ще архивираме дъмповете на базата данни с помощта на .

Пример за задача за архивиране на MySQL база данни:

Име="BackupSmallMysqlServer"

Ниво = Инкрементално

Клиент = mysqlserver1

FileSet="mysqlserver"

График = „Седмичен цикъл“

Съобщения = Стандартни

ClientRunBeforeJob = "/opt/sbin/mysql.sh"

SpoolAttributes = да

Напишете Bootstrap = "/var/lib/bacula/%c.bsr"

име="mysqlserver"

компресия = GZIP

Файл = /opt/mysql_backup/

Този метод е приложим за архивиране на незаредени MySQL бази данни, като бази данни на малки сайтове, за които заключването на таблици по време на дъмпа не е критично.

Как да архивирате заредени MySQL бази данни?

Ако MySQL базата данни е силно натоварена, тогава не се препоръчва да правите дъмп върху нея, тъй като таблиците са заключени по време на дъмпа. Най-правилното решение в този случай е да се направи реплика на база данни Репликация Master-Slave.

За натоварени системи е необходима реплика, така че в случай на повреда на базата данни майстор, беше възможно да превключите товара на роби го направи нов майстор.

За силно натоварени системи архивирането на MySQL трябва да се прави специално за робБаза данни.

Сървърите за бази данни са едни от ключовите във всяка организация. Именно те съхраняват информация и предоставят изход при поискване и е изключително важно да запазите базата данни във всяка ситуация. Основната дистрибуция обикновено включва необходимите помощни програми, но администратор, който преди това не се е сблъсквал с база данни, ще трябва известно време да се справи с особеностите на работата, за да осигури автоматизация.

Видове резервни копия на бази данни

Като начало, нека да разберем какво представляват резервните копия като цяло. Сървърът на базата данни не е обикновено настолно приложение и за да се осигури прилагането на всички свойства на ACID (Atomic, Consistency, Isolated, Durable), се използват редица технологии и следователно създаването и възстановяването на база данни от архив има своите собствени характеристики. Има три различни подхода за архивиране на данни, всеки със своите предимства и недостатъци.

С логическо или SQL архивиране (pg_dump, mysqldump, SQLCMD) се създава моментална снимка на съдържанието на базата данни, като се взема предвид целостта на транзакцията и се записва като файл с SQL команди (можете да изберете цялата база данни или отделни таблици), с които можете да пресъздадете базата данни на друг сървър. Отнема време (особено за големи бази данни) за запазване и възстановяване, така че много често тази операция не може да бъде изпълнена и се извършва при минимално натоварване (например през нощта). При възстановяване администраторът ще трябва да изпълни няколко команди, за да подготви всичко необходимо (създаване на празна база данни, СметкиИ така нататък).

Физическо архивиране (на ниво файлова система) - копиране на файловете, които СУБД използва за съхраняване на данни в базата данни. Но обикновеното копиране игнорира заключвания и транзакции, които има вероятност да бъдат неправилно съхранени и разбити. Ако се опитате да прикачите този файл, той ще бъде в непоследователно състояние и ще доведе до грешки. За да получите актуален архив, базата данни трябва да бъде спряна (можете да намалите времето на престой, като използвате rsync два пъти - първо на работеща, след това на спряна). Недостатъкът на този метод е очевиден - не можете да възстановите определени данни, а само цялата база данни. Когато стартирате база данни, възстановена от архив на файлова система, ще трябва да проверите целостта. Тук се използват различни помощни технологии. Например PostgreSQL има WAL (Write Ahead Logs) и специална функция (Point in Time Recovery - PITR), която ви позволява да се върнете към определено състояние на базата данни. С тяхна помощ лесно се изпълнява третият сценарий, когато архивиране на ниво файлова система се комбинира с архивиране на WAL файл. Първо възстановяваме архивните файлове на файловата система и след това с помощта на WAL базата данни се актуализира. Това е малко по-сложен подход за администриране, но няма проблеми с целостта на базата данни и възстановяването на бази данни до определено време.

Логическо архивиране се използва в случаите, когато е необходимо да се направи еднократно пълно копие на базата данни или при ежедневна употреба не отнема много време или място за създаване на копие. Когато разтоварването на бази данни отнема много време, трябва да обърнете внимание на физическото архивиране.

барман

Разрешително: GNU GPL

Поддържани СУБД: PostgreSQL

PostgreSQL поддържа физически и логически възможности за архивиране чрез добавяне на друг слой на WAL (вижте страничната лента), който може да се нарече непрекъснато архивиране. Но управлявайте с редовни инструментиняколко сървъра не е много удобно дори за опитен администратор и в случай на повреда акаунтът отива за секунди.

Barman (мениджър за архивиране и възстановяване) е вътрешна разработка на 2ndQuadrant, компания, която предоставя услуги, базирани на PostgreSQL. Проектиран за физическо архивиране на PostgreSQL (не поддържа логическо), WAL архивиране и бързо възстановяване след повреди. Поддържа отдалечено архивиране и възстановяване на множество сървъри, възстановяване в момента (PITR), WAL управление. SSH се използва за копиране и издаване на команди към отдалечен хост, синхронизирането и архивирането с помощта на rsync ви позволява да намалите трафика. Barman също се интегрира със стандартни помощни програми bzip2, gzip, tar и други подобни. По принцип можете да използвате всяка програма за компресиране и архивиране, интеграцията няма да отнеме много време. Внедрени са различни сервизни и диагностични функции, които ви позволяват да наблюдавате състоянието на услугите и да регулирате честотната лента. Поддържат се скриптове преди/след.

Barman е написан на Python и политиките за архивиране се управляват с помощта на приятелския INI файл barman.conf, който може да се намира в /etc или в домашната директория на потребителя. Доставката включва готов шаблон с подробни коментари вътре. Работи само на *nix системи. За да инсталирате на RHEL, CentOS и Scientific Linux, трябва да свържете EPEL - хранилище, което съдържа допълнителни пакети. Потребителите на Debian/Ubuntu имат на разположение официалното хранилище:

$ sudo apt-get инсталирайте барман

Не винаги в хранилището последна версия, за да го инсталирате, ще трябва да се обърнете към изходните текстове. Има малко зависимости и процесът е лесен за разбиране.

Sypex Самосвал

Разрешително: BSD

Поддържани СУБД: MySQL

Заедно с MySQL се доставят помощните програми mysqldump и mysqlhotcopy, които ви позволяват лесно да създадете дъмп на база данни, те са добре документирани и можете да намерите голям брой готови примери и интерфейси в Интернет. Последните позволяват на начинаещия бързо да стигне до работа. Sypex Dumper е PHP скрипт, който ви позволява лесно да създавате и възстановявате копие на MySQL база данни. Проектиран да работи с големи бази данни, той е много бърз, ясен и лесен за използване. Знае как да работи с MySQL обекти - изгледи, процедури, функции, тригери и събития.

Друг плюс, за разлика от други инструменти, които конвертират в UTF-8 при експортиране, е, че Dumper експортира в естествено кодиране. Полученият файл заема по-малко място, а самият процес е по-бърз. Един дъмп може да съдържа обекти с различни кодировки. Освен това е лесно да импортирате / експортирате на няколко етапа, спирайки процеса по време на зареждането. При рестартиране процедурата ще започне от мястото, където е спряла. Има четири възможности за възстановяване:

  • CREATE + INSERT - стандартен режим на възстановяване;
  • TRUNCATE + INSERT - по-малко време за създаване на таблици;
  • REPLACE - възстановяваме стари данни в работещата база данни, без да презаписваме нови;
  • INSERT IGNORE - добавете изтрити или нови данни към базата данни, без да докосвате съществуващите.

Поддържа компресиране на копия (gzip или bzip2), автоматично изтриване на стари архиви, преглед на съдържанието на дъмп файла, възстановяване само на структурата на таблиците. Има и сервизни функции за управление на базата данни (създаване, изтриване, проверка, възстановяване на базата данни, оптимизиране, почистване на таблици, работа с индекси и т.н.), както и файлов мениджър, който ви позволява да копирате файлове на сървъра.

Управлението се извършва с помощта на уеб браузър, AJAX интерфейсът е локализиран веднага и създава впечатление за работа с десктоп приложение. Също така е възможно да се изпълняват задачи от конзолата и по график (чрез cron).

За да работи Dumper, ще ви трябва класически L|WAMP сървър, инсталацията е обща за всички приложения, написани на PHP (копиране на файлове и задаване на разрешения) и няма да е трудно дори за начинаещ. Проектът предоставя подробна документация и видео уроци, демонстриращи как да работите със Sypex Dumper.

Има две издания: Sypex Dumper (безплатно) и Pro ($10). Вторият има повече функции, всички разлики са посочени на сайта.

SQL архивиране и FTP

Разрешително:

Поддържани СУБД:Г-ЦА SQL сървър

MS SQL Server е едно от популярните решения и затова е доста разпространено. Заданието за архивиране се създава с помощта на SQL Server Management Studio, самия Transact-SQL и кратките команди на модула SQL PowerShell (Backup-SqlDatabase). На уебсайта на MS можете да намерите огромно количество документация, която ви позволява да разберете процеса. Документацията, макар и пълна, е много специфична, а информацията в интернет често си противоречи. Начинаещият наистина ще трябва първо да практикува, „напълвайки ръката си“, следователно, въпреки всичко казано, разработчиците на трети страни имат място да се обърнат. Освен това безплатна версия SQL Сървър Експресне може да се похвали с вградени инструменти за архивиране. За по-ранни версии на MS SQL (преди 2008 г.) можете да намерите безплатни помощни програми, като архивиране на SQL Server, но в повечето случаи такива проекти вече са комерсиализирани, въпреки че често предлагат цялата функционалност за символична сума.


Например разработката на SQL Backup And FTP и One-Click SQL Restore следва принципа "задай и забрави". С много проста и ясен интерфейс, те ви позволяват да създавате копия на бази данни MS SQL Server (включително Express) и Azure, да запазвате криптирани и компресирани файловекъм FTP и облачни услуги(Dropbox, Box, Google Drive, MS SkyDrive или Amazon S3), резултатът може да се види веднага. Възможно е да стартирате процеса както ръчно, така и по график, да изпратите съобщение за резултата от задачата по имейл, да стартирате потребителски скриптове.

Поддържат се всички опции за архивиране: пълен, диференциален, регистър на транзакциите, копиране на папка с файлове и много други. Старите резервни копия се изтриват автоматично. За свързване с виртуалния хост се използва SQL Management Studio, въпреки че това може да бъде нюансирано и няма да работи във всички подобни конфигурации. Предлагат се пет версии за изтегляне - от Безплатнокъм фантастичния Prof Lifetime (само $149 към момента на писане на това). Безплатната функционалност е напълно достатъчна за малки мрежи с инсталиран един или два SQL сървъра, всички основни функции са активни. Броят на резервните бази данни, възможността за изпращане на файлове до Google Drive и SkyDrive и криптирането на файлове са ограничени. Интерфейсът, въпреки че не е локализиран, е много прост и разбираем дори за начинаещ. Просто трябва да се свържете към SQL сървъра, след което ще се покаже списък с бази данни, трябва да маркирате тези, от които се нуждаете, да конфигурирате достъпа до отдалечени ресурси и да посочите времето за изпълнение на задачата. И всичко това в един прозорец.

Но има едно "но". Самата програма не е предназначена за възстановяване на архиви. За това отделно безплатна помощна програмаВъзстановяване на SQL с едно щракване, което разбира формата, създаден от командата BACKUP DATABASE. Администраторът трябва само да посочи архива и сървъра, на който да възстанови данните, и да натисне един бутон. Но в по-сложни сценарии ще трябва да използвате RESTORE.


Характеристики на архивирането на MS SQL Server

Създаването на резервно копие и възстановяването на СУБД има свои собствени различия, които трябва да се вземат предвид, особено при прехвърляне на архив на друг сървър. Например, нека анализираме някои от нюансите на MS SQL Server. За да архивирате с помощта на Transact-SQL, използвайте командата BACKUP DATABASE (съществува и команда delta DIFFERENTIAL) и регистъра на транзакциите BACKUP LOG.

Ако резервното копие е разположено на различен сървър, трябва да се уверите, че са налични същите логически устройства. Като алтернатива можете ръчно да зададете правилните пътища за файловете на базата данни, като използвате опцията WITH MOVE на командата RESTORE DATABASE.

Проста ситуация е архивиране и прехвърляне на бази данни към други версии на SQL Server. Тази операция се поддържа, но в случай на SQL Server ще работи, ако версията на сървъра, на който е разположено копието, е същата или по-нова от тази, на която е създадено. И има ограничение: не повече от две по-нови версии. След възстановяването базата данни ще бъде в режим на съвместимост с версията, от която е направен преходът, т.е. новите функции няма да бъдат налични. Това лесно се коригира чрез промяна на COMPATIBILITY_LEVEL. Можете да направите това с помощта на GUI или SQL.

ALTER DATABASE MyDB SET COMPATIBILITY_LEVEL = 110;

Можете да определите на коя версия е създадено копието, като погледнете заглавката на архивния файл. За да не експериментирате, при преминаване към нова версия SQL Server трябва да изпълнява безплатната помощна програма Microsoft Upgrade Advisor.

Иперий

Разрешително:търговски, има безплатна версия

Поддържани СУБД: Oracle 9-11, XE, MySQL, MariaDB, PostgreSQL и MS SQL Server

Когато трябва да управлявате няколко вида СУБД, комбиниранията са незаменими. Изборът е голям. Например Iperius е лек, много лесен за използване и съвместим мощна програмаза архивиране на файлове, който има функцията за горещо архивиране на бази данни без прекъсване или блокиране. Осигурява пълно или инкрементално архивиране. Може да създава пълни дискови изображения за автоматично преинсталиране на цялата система. Поддържа архивиране към NAS, USB устройства, streamer, FTP/FTPS, Google Drive, Dropbox и SkyDrive. Поддържа zip компресия без ограничение на размера на файла и AES256 криптиране, изпълнява външни скриптове и програми. Включва много функционален планировчик на задачи, възможно е да се изпълняват няколко задачи паралелно или последователно, резултатът се изпраща на имейл. Поддържат се множество филтри, променливи за персонализиране на пътища и настройки.


Възможността за качване по FTP улеснява актуализирането на информация на множество уебсайтове. Отворете файловесе архивират с помощта на VSS технология ( скрито копиетомове), което ви позволява да правите горещо архивиране не само на DBMS файлове, но и на други приложения. За Oracle се използва и инструментът за архивиране и възстановяване RMAN (Recovery Manager). За да не се претоварва канала, е възможно да се регулира честотната лента. Управлението на архивирането и възстановяването се извършва с помощта на локалната и уеб конзолата. Всички функции са видими, така че, за да настроите задача, трябва само да разбирате процеса, дори не е нужно да преглеждате документацията. Просто следвайте инструкциите на съветника. Можете също така да отбележите мениджъра на акаунти, което е много удобно с голям брой системи.

Основните функции се предлагат безплатно, но възможността за резервиране на база данни е включена само в Advanced DB и Full версиите. Поддържа инсталация от XP до Windows сървър 2012.

Удобно архивиране

Разрешително:реклама

Поддържани СУБД: Oracle, MySQL, IBM DB2 (7–9.5) и MS SQL Server

Една от най-мощните системи за управление на релационни бази данни е IBM DB2, която има уникални функции за мащабируемост и поддържа много платформи. Предлага се в няколко издания, които са изградени на една и съща основа и се различават функционално. Архитектурата на базата данни на DB2 ви позволява да управлявате почти всички типове данни: документи, XML, медийни файлове и т.н. Безплатният DB2 Express-C е особено популярен. Архивирането е много просто:

db2 архивиране db проба

Или моментна снимка с помощта на функцията Advanced Copy Services (ACS):

db2 резервно копие db проба използва моментна снимка

Но трябва да помним, че в случай на моментни снимки не можем да възстановим (db2 възстановяване на db) отделни таблици. Има възможности за автоматично архивиране и много други. Продуктите са добре документирани, въпреки че ръководствата са рядкост в рускоезичния интернет. Освен това не всички специални решения могат да намерят поддръжка за DB2.

Например, Handy Backup ви позволява да архивирате няколко типа сървъри на бази данни и да записвате файлове на почти всеки носител ( HDD, CD/DVD, облачно и мрежово съхранение, FTP/S, WebDAV и други). Възможно е архивиране на бази данни чрез ODBC (само таблици). Това е едно от малкото решения, които поддържат DB2 и също така носят логото „Ready for IBM DB2 Data Server Software“. Цялата процедура се извършва с помощта на конвенционален съветник, в който трябва само да изберете желания елемент и да създадете задача. Самият процес на настройка е толкова прост, че дори начинаещ може да го разбере. Можете да създадете няколко задания, които ще се изпълняват по график. Резултатът се регистрира и изпраща по имейл. Не е необходимо да спирате услугата, докато заданието се изпълнява. Архивът е автоматично компресиран и криптиран, което гарантира неговата сигурност.


Работата с DB2 се поддържа от две версии на Handy Backup - Office Expert (локална) и Server Network (мрежова). Работи на компютри с Win8/7/Vista/XP или 2012/2008/2003. Самият процес на внедряване не е труден за нито един администратор.

Здравейте всички! Има ситуации, когато след инсталиране на ново разширение или тема на уебсайта на онлайн магазин възникват всякакви непредвидени ситуации. Те се крият във факта, че на сайта могат да се появят грешки, които не са съществували преди, или сайтът изобщо не отговаря. За да сте подготвени за подобни ситуации, трябва да направите резервни копия на сайта или бекъп. В идеалния случай те трябва да се създават ръчно всеки път, когато инсталирате нов модул на сайта или извършвате операции, които засягат базата данни или файловете на сайта. Правя резервни копия всяка седмица за всеки случай. Просто винаги имам много актуализации на седмица.

Ръчно архивиране на файловете на сайта

Като правило, на добър хостинг, разполага със собствена система за архивиране на данни. Прави резервно копие на вашия сайт с определен период, обикновено няколко дни. Ясно е, че не трябва да разчитате изцяло на хостинг за архивиране. Как тогава да направите резервно копие? Ние ще използваме.

Първата стъпка е да архивирате вашите файлове. За да направите това, отидете в секцията "WebFTP". Тук избираме сайта, чиито файлове искаме да запазим, и отиваме в неговата папка. След това, за по-бързо изтегляне, файловете трябва първо да бъдат архивирани. Можете да архивирате файлове с или без компресия. Бих препоръчал да не компресирате файловете и да ги добавите към архива по обичайния начин, за да не ги повредите в бъдеще. Избираме директориите и файловете, от които се нуждаем, в падащия списък в долната част изберете действието „Паковане в архив“. Задаваме му име, като за предпочитане посочваме датата и часа, когато е създадено копието. Щракнете върху бутона "Изпълнение".

Изчакваме известно време за създаване на архива. След това го изтеглете на вашия компютър. Резервното копие на файловете е готово.

Ръчно архивиране на база данни

Сега нека преминем към също толкова важна стъпка - архивиране на базата данни. Ако хостингът не предоставя възможност за това автоматично, тогава в такива случаи, за да запазите копия на вашия компютър, трябва да експортирате базата данни. Това става по следния начин. Отидете в секцията „Бази данни“ и щракнете върху връзката „PHPMyAdmin“ до желаната база данни.

IN отворен разделвъведете вашето потребителско име и парола и влизаме в контролния панел на базата данни MySQL. Щракваме върху името на базата данни (1), която искаме да запазим, и отиваме в раздела „Експортиране“ (2).

Изберете метод с минимални настройки и щракнете върху „Напред“. След това ще започне изтеглянето на sql-файла с копие на базата данни.

Възстановяване на база данни от резервно копие

За да възстановите базата данни от този файл, ще трябва също да влезете в контролния панел на базата данни MySQL, да изтриете всички съществуващи таблици в базата данни и след това да отидете в раздела „Импортиране“. Там изберете създадения по-рано файл и кликнете върху бутона „Да тръгваме“. Системата ще го изтегли и ще отчете завършването на операцията. Базата данни ще има всички таблици, които съдържа по време на архивирането.

Възстановяване на файлове от резервно копие

С възстановяването на файлове всичко е малко по-лесно. Отиваме в секцията „WebFTP“, след това в папката на вашия сайт, изтриваме всички файлове в папката на вашия сайт и щракнете върху „Качване на файл“. Изберете създадения преди това архив и щракнете върху „Качване на файл“. Изчакваме изтеглянето да приключи.

След като архивът се зареди и се покаже в панела с файлове, трябва да го разархивирате. И всичко е готово. Или, без да изтривате файлове, можете просто да изтеглите архива и да го разархивирате със замяна. Ако разархивирането е било успешно, това означава, че всички файлове от архива са заменени. Но обикновено първо изтривам файловете и след това разархивирам архива.

Файловете могат да се изтеглят и с помощта на FTP клиент като FileZilla. Писах как да работя с него. Свързваме се с нашия ftp акаунт чрез клиента, отиваме в папката с файловете на сайта и просто ги копираме на нашия компютър. По същия начин те могат да бъдат качени от компютър на хостинг. Само не забравяйте да копирате и замените.

Не забравяйте за сигурността на вашия сайт, отнасяйте се сериозно към резервните копия, защото никога не знаете кога могат да ви бъдат полезни.

С уважение, Шмид Николай

Организираме автоматично архивиране на базата данни MySQL.

Всяка база данни трябва да бъде архивирана с резервно копие или резервно копие. Ако все още го правите ръчно, тогава можете да се радвате, защото има просто PHP решение за автоматично архивиране. С този скрипт можете да прехвърляте конкретни таблици за архивиране или да архивирате цялата база данни.

Как да внедрите резервни копия на mysql?

Най-добре е да копирате предоставения код на скрипта и да го поставите в папката „database_backups“, както е показано на екранната снимка по-долу. Тогава при извикване на файла архивиране.php, ще архивира базата данни на вашия сървър. Бих препоръчал периодично да копирате всички архивни файлове на вашия компютър или друго хранилище, за да сте в безопасност в случай на загуба на хостинг.

Автоматизиране на mysql архивиране с CRON

CRON е доказан планировчик на задачи, който ви позволява да изпълнявате скриптове определено време. Например, можете да правите резервни копия на база данни през нощта, когато трафикът спадне. Можете лесно да настроите CRON, ако вашият хост го поддържа. За да направите това, трябва да изпълните следната команда, в която просто трябва да промените връзката към вашия архивен файл.

Wget -O /dev/null http://your-site.com/database_backup/backup.php

PHP код файл

Разгледахме прост пример за внедряване на автоматично архивиране на mysql база данни. Да, методът е дъбов, но е приемлив за малки сайтове. Ако имате голям проект, тогава използването на php е много бавно в сравнение с използването mysqldump. Любезна молба към тези, които знаят как да организират архивирането по-добре, напишете в коментарите.

1 февруари 2012 г. в 00:33 ч

Архивиране на данни в MySQL

  • MySQL

Архивирането на база данни е такова нещо, което винаги трябва да настройвате за вече работещи проекти направо на "живите" производствени сървъри.
Тази ситуация е лесно обяснима. В самото начало всеки проект е все още празен и просто няма какво да копирате. Във фазата на бързо развитие главите на няколко разработчици са заети изключително с прецакване на чипове и украшения, както и с коригиране на критични грешки с краен срок „преди вчера“. И едва когато проектът "тръгне", идва осъзнаването, че основната ценност на системата е натрупаната база данни и нейният провал ще бъде катастрофа.
Тази обзорна статия е за онези, чиито проекти вече са стигнали дотук, но печеният петел още не е кълвал.

1. Копиране на файлове от бази данни

MySQL базата данни може да бъде копирана чрез временно изключване на MySQL сървъра и просто копиране на файловете от папката /var/lib/mysql/db/. Ако сървърът не е изключен, по очевидни причини е вероятно загуба на данни и повреда. За големи натоварени бази данни тази вероятност е близо до 100%. Освен това, когато за първи път започнете с "мръсно" копие на базата данни, MySQL сървърът ще започне процеса на проверка на цялата база данни, което може да отнеме часове.

В повечето "живи" проекти редовно изключванесървър на база данни за дълго време е неприемливо. За да се реши този проблем, се използва трик, базиран на моментни снимки на файловата система. Моментната снимка е нещо като "снимка" на файловата система в определен момент от време, направена без реално копиране на данните (и следователно бързо). Мързеливото копиране на обекти работи по подобен начин в много съвременни езици за програмиране.
Общата схема на действие е следната: всички таблици се заключват, кеша на файла на базата данни се нулира, прави се снимка на файловата система, таблиците се отключват. След това файловете се копират тихо от моментната снимка, след което тя се унищожава. „Блокиращата“ част от такъв процес отнема време от порядъка на секунди, което вече е поносимо. Като възмездие за известно време, докато моментната снимка е „жива“, производителността на файловите операции намалява, което засяга предимно скоростта на операциите за запис в базата данни.

някои файлови системи, като ZFS, поддържат моментни снимки нативно. Ако не използвате ZFS, но имате LVM том мениджър на вашия сървър, можете също да копирате MySQL базата данни чрез моментна снимка. И накрая, под *nix можете да използвате драйвера за моментна снимка на R1Soft Hot Copy, но този метод няма да работи в контейнера openvz ().

За базите данни MyISAM има официална безплатна помощна програма mysqlhotcopy, която "правилно" копира файловете на базата данни MyISAM, без да спира сървъра. Има подобна помощна програма за InnoDB, но е платена, въпреки че има повече функции.

Копиране на файлове - най-много бърз начинпрехвърляне на цялата база данни от един сървър на друг.

2. Копиране чрез текстови файлове

За да прочетете данните от производствената база данни в резервно копие, не е необходимо да изтегляте файловете. Можете да изберете данни по заявка и да ги запишете в текстов файл. За да направите това, използвайте SQL командата SELECT INTO OUTFILE и нейната двойка LOAD DATA INFILE. Разтоварването се извършва ред по ред (можете да изберете само необходимите редове за запис, както при нормален SELECT). Структурата на таблиците не е посочена никъде - програмистът трябва да се погрижи за това. Трябва също така да се погрижи да включи изрази SELECT INTO OUTFILE в транзакцията, ако е необходимо, за да гарантира целостта на данните. На практика SELECT INTO OUTFILE се използва за частично архивиране на много големи масикоито не могат да бъдат копирани по друг начин.

В повечето случаи помощната програма mysqldump, създадена от Игор Романенко, е много по-удобна. Помощната програма mysqldump генерира файл, съдържащ всички SQL команди, необходими за пълно възстановяване на база данни на друг сървър. С отделни опции можете да постигнете съвместимост на този файл с почти всяка СУБД (не само MySQL), освен това е възможно да качвате данни в CSV и XML формати. За да възстановите данни от такива формати, има помощна програма mysqlimport.

mysqldump конзолна програма. Има негови добавки и аналози, които ви позволяват да управлявате архивирането чрез уеб интерфейс, например украинския инструмент Sypex Dumper (техният представител е на Habré).

Недостатъците на универсалните помощни програми за архивиране в текстови файлове- това е сравнително ниска скорост и липсата на възможност за създаване на инкрементални архиви.

3. Инкрементални архиви

Традиционно се препоръчва да се поддържат 10 резервни копия: по едно за всеки ден от седмицата, както и двуседмични, месечни и тримесечни архиви - това ще ви позволи да се върнете доста дълбоко в случай на повреда на каквито и да е данни.
Резервните копия определено не трябва да се съхраняват на същия диск като живата база данни, а не на същия сървър. В случай на пожари и други бедствия, най-добре е да наемете няколко единици в близкия център за данни.

Тези изисквания могат да се превърнат в проблем за големи бази данни. Изпомпването на резервно копие на 100-гигабайтова база данни през 100-Mbit мрежа ще отнеме около три часа, за които каналът ще се запълни напълно.
Частичното разрешаване на този проблем позволява инкрементално архивиране, когато пълно архивиране се прави, да речем, само в неделя, а в други дни се записват само данни, добавени или променени през последния ден. Трудността е как да се идентифицират същите тези „данни, които са се променили за един ден“.

Тук системата Percona XtraBackup, която съдържа модифициран InnoDB двигател, анализира MySQL бинарни регистрационни файлове и извлича необходимата информация от тях, е практически ненадмината. Платеният InnoDB Hot Backup, споменат по-горе, има почти същите възможности.

Често срещан проблем с всички резервни копия е, че те винаги изостават. В случай на фатален отказ на главния сървър, ще бъде възможно да се възстанови системата само с известно „връщане назад“ във времето, което много, много ще разочарова своите потребители. Ако финансовите потоци са били засегнати по някакъв начин в системата, такова „връщане назад“ може да се случи буквалнолети в ямата.

4. Репликация

Системата за репликация MySQL е проектирана да избягва връщане назад. Идеята за репликация се основава на факта, че в допълнение към "главния" сървър ("Master") постоянно работят подчинени MySQL сървъри ("slave"), които получават инкрементални архиви от главния в реално време. По този начин времето за връщане се намалява почти до забавянето на мрежата. В случай на срив на Master, един от подчинените устройства може бързо да бъде назначен за „нов Master“ и клиентите могат да бъдат пренасочени към него. Освен това подчинените устройства могат да обработват заявки за четене на данни (SELECT); това може да се използва за извършване на някои изчисления или за намаляване на натоварването на съветника. MySQL поддържа репликация от кутията, процесът е добре описан от потребителя

Зареждане...
Връх