Как сделать бэкап базы данных MySQL при лирическом настроении. Восстановление БД из бэкапа посредством phpMyAdmin

Если вы храните данные в БД MySQL и вам важно не потерять их, то вам нужно регулярно делать бэкапы. Эта статья научит вас быстро через консоль делать бэкапы и восстанавливать их в БД MySQL. Также вы сможете перенести данные на другой сервер.

Как сделать бэкап через командную строку (используя mysqldump)

Если у вас есть доступ к серверу через консоль (SSH) вы можете быстро делать бэкапы и разварачивать их обратно. Эта позволяет быстро создавать дамп базы данных (дамп - это текстовый вариант БД) и восстанавливать их обратно, быстрее чем через phpmyadmin, adminer и прочее. Дамп базы будет состоять из SQL-команд для создания копии вашей БД. Вот команда создания дампа:

$ mysqldump --opt -u -p >

- Имя пользователя БД (возможно root)
- пароль к вашему пользователю, можно писать слитно если он без каких-то особых знаков и пробелов, например -proot, -ppassword
- имя вашей БД
- имя файлу куда будет сохранен бэкап
[--opt] - опции к команде mysqldump, можно пропустить и не писать

Допустим у вас есть база данных Drupal, а имя пользователя root с паролем password и имя файла будет backup.sql, тогда команда будет такая:

$ mysqldump -u root -ppassword DrupalDB > backup.sql

Можно опустить пароль или пароль содержит пробелы и другие особые знаки (#!,-_), то тогда вам придется вводить пароль отдельно и команда будет такая:

$ mysqldump -u root -p DrupalDB > backup.sql

Вы можете также бэкапить отдельные таблицы, для этого нужно перечислять таблицы через пробел, например nodes users:

$ mysqldump -u root -p DrupalDB nodes users > backup.sql

Помимо того чтобы бэкапить отдельные таблицы, можно бэкапить сразу несколько БД, для этого нужно указать параметр --databases это позволит через пробел указать нужные БД:

$ mysqldump -u root -p --databases DrupalDB Drupal7 Drupal8 > backup.sql

Если вы хотите перенести сервер MySQL полностью, то вы можете скопировать все данные с помощью параметра --all-databases:

$ mysqldump -u root -p --all-databases > alldb_backup.sql

Команда mysqldump имеет также несколько полезных параметров:

--add-drop-table - позволяет удалять таблицы перед разварачиваем этого бекапа (то есть в дамп будет добавлены SQL-запросы DROP TABLE перед CREATE TABLE той же таблицы).

--no-data - позволяет копировать только структуру БД без данных, например полезно когда вы копируете таблицы кеша, которые в друпале могут быть с сотнями тысяч ненужных нам записей.

--add-lock - позволяет добавить LOCK TABLES и UNLOCK TABLES. Если размер БД большой то таблицы могут быть залочены на продолжительное время.

Как сделать бэкап MySQL БД со сжатием

Пожалуй наиболее подходящий варинт, потому что сжать удается в 10-20 раз и бэкапы из больших баз данных становится вполне небольших размеров. Для сжатия мы будем пользоваться командой gzip:

$ mysqldump -u root -p DrupalDB | gzip -9 > backup.sql.gz

Если вы хотите разархивировать файл (не восстановить БД, а просто разархивировать), то воспользуйтесь этой командой:

$ gunzip backup.sql.gz

Как восстановить БД MySQL из бэкапа

Для восстановления БД из дампа, вам нужна чистая БД, можете удалить таблицы с помощью adminer"а или phpmyadmin"а. Если вы использовали параметр --add-drop-table, то таблицы сами удаляться и зальются и ничего удалять прежде не нужно. Вот команда чтобы восстановить БД из дампа:

$ mysql -u root -p DrupalDB < backup.sql

Если у вас был сжатый бэкап, то воспользуйтесь этой командой:

Gunzip < backup.sql.gz | mysql -u root -p DrupalDB

Бэкап и восстановление через Adminer (замена PhpMyAdmin)

Adminer - это замена PhpMyAdmin. Он такой же по функционалу, только сделан в виде одного небольшого файла, что весьма удобно:

Просто копируем файл в корень нашего сайта и обращаемся к нему через браузер:

http://имя_вашего_сайта/adminer-4.2.1.php (можете переименовать в adminer.php для удобства):

Теперь нажимаем Экспорт (Dump) и выгружаем данные. Причем мы можем не выгружать ненужные нам данные кэша:

Для загрузки дампа обратно используйте вкладку Импорт (Import):

«, кто-то будет работать не покладая рук, кто-то решит сделать для себя пару дней отдыха и расслабиться по полной программе. Но не следует забывать друзья что сайт будет работать всё время пока вас нет и следует отнестись к нему с заботой и сделать резервную копию файлов и баз данных ! Конечно многие хостеры делают самостоятельную копию в автоматическом режиме, но не следует забывать что проблемы могут быть и у них. Так что приступите к созданию бекапа файлов и баз данных сайта.

Следует знать, что сайты которые создаются на каком-либо движке (WordPress, joomla) имеют две самые важные части. Первая важная часть — это все файлы вашего сайта плагины, компоненты, картинки и т.д и второе это база данных в которой хранятся материалы вашего сайта то есть тексты, настройки плагинов, компонентов и настройки самого движка.

После того как мы узнали про две важные части сайта, то выводится своеобразный ответ о том что нужно начать резервное копирование баз данных и файлов . Интервал между копиями задаётся исключительно вами. Копирование файлов сайта можно ограничится неделей, а копирование баз данных следует выполнять по мере добавления нового материала или изменение старого на сайте.

Резервное копирование и создание бэкапа при помощи FileZilla

И так давайте приступим к копированию всех файлов нашего сайта через , конечно вы можете пользоваться и другой подобной программой, но мне нравится эта.

1. Для размещения резервных копий рекомендую создать отдельную папку на жёстком диске и присвоить ей имя, например бэкап данных. Присвоить так же своеобразный ярлычок что бы не тратить время на поиски папки у себя на компьютере. Я создал себе папку и потом создаю внутри неё ещё папку и присваиваю ей имя: дата создания резервной копии.

2. Открываем нашу FileZilla заходим в настройки и включаем показ скрытых файлов, так же следует выставить количество файлов которые могут одновременно копироваться, количество одновременных файлов при копирование каждый выставляет по своему, у какого как интернет позволяет и я ставлю 10 — это максимальное значение.

3. Теперь займёмся самим резервным копированием. Время копирования зависит от размера файлов и скорости соединения с вашем сервером хостинга. Открываем программу, заходим по ftp на сервер, выбираем слева папку в которой будут хранится ваши копии сайта и выполняем перенос с хостинга в вашу папку. смотрим скрин:

Резервное копирование базы данных и восстановление из бэкапа при помощи phpMyAdmin

Рассмотрим создание бэкапа базы данных через программу phpMyAdmin. Для того что бы в неё зайти вам следует перейти в административную панель вашего хостинга и там открыть phpMyAdmin.

Если на вашем хостинге имеется большое количество баз данных, то вам следует выбрать ту в которой находится ваш сайт. Выбор баз находится слева под ярлычком «Домик». Для создание резервной копии базы вам следует нажать на экспорт

Восстановление базы данных из ранее созданной резервной копии при помощи phpMyAdmin

При восстановление вам нужно будет очистить всю базу на данный момент от имеющих таблиц, что бы при восстановление не было наложения и конфликтов. Отметьте все поля и нажмите удалить. После этого только можно приступать к импорту базы данных. Для этого нам нужно выбрать пункт Импорт в phpMyAdmin, нажать обзор и выбрать ранее созданную резервную копию, которая хранится у нас на компьютере в соответствующей папке. Жмём на ОК и загрузка пошла. Обычно перенос. копирование и восстановление происходит очень быстро так как база имеет меньший размер чем все остальные файлы движка.

Вовремя созданная резервная копия избавит вас от лишней головной боли через день, неделю, месяц. При созданной копии можно спать спокойно.

Перенос WordPress, Joomla с одного хостинга на другой используя phpMyAdmin и FileZilla

Вы переехали на другой хостинг внесли в свой домен другие DNS адреса и хотите максимально быстро запустить ваш сайт. Для этого заходим по FTP и копируем всю нашу резервную копию файлов сайта. После того как файлы закачены следует произвести настройку движка, а именно.

В этом случае становится возможным , если что-то пойдёт не так.

Contents

При помощи phpMyAdmin

Remember - you have NOT backed up the files and folders - such as images - but all your posts and comments are now safe.

Используя команды MySQL напрямую

phpMyAdmin не справляется с большими базами данных, в этом случае поможет использование MySQL напрямую.

1. Перейдите в директорию, в которую вы хотите сохранить бэкап:

User@linux:~> cd files/blog

2. Используйте команду mysqldump для выгрузки всех таблиц базы данных. Чтобы выгрузить только некоторые таблицы из базы данных, укажите их имена в конце команды как (имя_таблицы имя_таблицы имя_таблицы) , только не вводите круглые скобки () . (За более подробным описанием, обратитесь к man mysqldump .):

User@linux:~/files/blog> mysqldump --add-drop-table -h mysqlhostserver -u mysqlusername -p databasename (tablename tablename tablename) | bzip2 -c > blog.bak.sql.bz2 Enter password: (введите ваш пароль mysql) user@linux~/files/blog> Пример: mysqldump --add-drop-table -h db01.example.net -u dbocodex -p dbwp | bzip2 -c > blog.bak.sql.bz2 Enter password: my-password user@linux~/files/blog>

Команда bzip2 -c после | (pipe, конвейер) означает, что бэкап будет сжат на лету, а > blog.bak.sql.bz2 отсылает вывод bzip в файл под названием blog.bak.sql.bz2 . То же самое можно сделать с помощью двух последовательно выполненных команд:

Mysqldump --add-drop-table -h db01.example.net -u dbocodex -p dbwp > blog.bak.sql bzip2 blog.bak.sql

С помощью MySQL Administrator

MySQL Administrator is a program for performing administrative operations, such as configuring your MySQL server, monitoring its status and performance, starting and stopping it, managing users and connections, performing backups, restoring backups and a number of other administrative tasks. You can perform most of those tasks using a command line interface such as that provided by mysqladmin or mysql , but MySQL Administrator is advantageous in the following respects:

  • Its graphical user interface makes it more intuitive to use.
  • It provides a better overview of the settings that are crucial for the performance, reliability, and security of your MySQL servers.
  • It displays performance indicators graphically, thus making it easier to determine and tune server settings.
  • It is available for Linux, Windows and MacOS X, and allows a remote client to backup the database across platforms. As long as you have access to the MySQL databases on the remote server, you can backup your data to wherever you have write access.
  • There is no limit to the size of the database to be backed up as there is with phpMyAdmin.

MySQL Administrator is designed to work with MySQL servers versions 4.0 and above.

Getting MySQL Admin

MySQL Admin may be downloaded from the MySQL.Com site . Installation binaries and documentation may also be found there.

Backing Up the Database

This assumes you have already installed MySQL Admin and set it up so that you can login to the MySQL Database Server either locally or remotely. Refer to the documentation that comes with the installation package of MySQL Admin for your platform for installation instructions.

2. From the icon menu on the left hand side of the client window select Backup.

3. If you have not already created a Backup Project, do this now by clicking on the "New Project" button at the lower part of the window and type in a name for the Backup Project where prompted.

4. Select one or more databases that you want to Backup (in the MySQL Admin client these are called a "Schema" (pl. "Schemata")). Add them to the Backup Content window on the right using the right-pointing arrow button.

5. When you have selected the Schema(ta), you can save the Backup Project. Or you may simply choose to Backup Now using the button on the lower right of the window.

6. A dialogue will come up asking you where to put the Backup. Enter the pathname or browse to the location using the dialogue.

7. Assuming all is correct (and you have write permissions in the directory to which you are writing the Backup), the backup will complete shortly.

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

1. Open the MySQL Admin client and login as you had previously set up to do.

2. From the icon menu on the left hand side of the client window select Restore.

3. Click the "Open Backup File" button on the lower right of the window.

4. Type in or browse to the Schema(ta) backup file and select. Click "Open".

5. The Target Schema(ta) will most likely be the "Original Location", or you may choose an alternate location using the drop-down menu.

6. Click the "Start Restore" button on the lower right of the window. The database restore will commence.

Используя плагин WordPress Database Backup

Austin Matzko поддерживает плагин originally created by Skippy под названием WordPress Database Backup . Он входил в состав WordPress 2.0, но с версии 2.1 больше не поставляется.

Установка плагина

  1. If you do download the plugin, follow the directions in the wp-db-backup.txt file to install the plugin correctly.

Активация плагина

  1. Make sure the wp-content folder is by your server (change its CHMOD)
  2. Go to your > > and activate the plug-in

От автора: что-то сегодня настроение какое-то лирически-меланхолическое. Наверное, на прошлогодний осенний лист я наступил, и от этого поплыл.… Так, лирику в сторону! Сегодня мы научимся, как сделать бэкап базы данных MySQL. Но все-таки жаль, что нельзя сделать «бэкап» времени!

Бэкапим легонько

Не будем сразу кидаться «в кусты с крапивой», и рассмотрим тему резервных копий с легких методов. Как всегда, начнем с нашей любимой графической оболочки phpMyAdmin. Рассмотрим, какими средствами создания в MySQL бэкапа базы обладает эта программа.

Заходим на сервер СУБД под учетной записью администратора. Затем слева выбираем базу, на которой будет тренироваться. Переходим на вкладку «Экспорт», и в разделе «Способ экспорта» отмечаем второй вариант («Обычный»).

После этого для редактирования станут доступны все возможные параметры бэкапа MySQL. Ниже в окне можно отметить конкретные таблицы базы, и создать только их копии. В поле «Вывод» активируйте вариант «Вывод в файл», и нажмите внизу «Ок». Копия базы данных сохранится в папке загрузки браузера.

Если честно, «господа-профессионалы программных наук», phpMyAdmin мне (как и вам) уже наскучил. Конечно, это «знатная» программная оболочка, обладающая «выдающимися» способностями в сфере администрирования СУБД. Но уже приелась!

Раз пошли такие «пляски», предлагаю испробовать что-то новенькое, и в качестве эксперимента для бэкапа базы данных MySQL использовать другую оболочку. Например, MySQL Admin.

Программная оболочка от авторов СУБД

Странно, но создатели столь популярной системы управления базами долгое время не пытались разработать для нее собственной графической оболочки. Но несколько лет назад появилась MySQL Admin. Хотя в данный момент поддержка программы ее создателями прекращена, но все-таки она обладает хорошим функционалом для бэкапа таблиц данных MySQL.
Чаще всего MySQL Admin используется как альтернатива phpMyAdmin, если размер резервируемой базы превышает 2 Мб. Это максимальный размер бэкапа, который поддерживается phpMyAdmin.

Скачиваем MySQL Admin, устанавливаем ее в файловую систему своего компьютера. Затем запускаем программу, и заполняем все поля параметров, которые нужны для подключения к серверу БД: название соединения, пароль, пользователя, хост и порт. Обратите внимание на последние два параметра. Их значение может отличаться для вашего ПК в зависимости от типа подключения (удаленно или локально) и используемой сборки.

Теперь переходим непосредственно бэкапу БД MySQL. В меню слева выбираем пункт «Backup».

Внизу нажимаем «New Project», в разделе «Schemata» выделяем нужную БД. Затем кнопкой с указателем направления перемещаем выделенный элемент в «Backup Content». Еще раз жмем на название базы, выделяем нужные таблицы и затем переходим по ссылке «Execute Backup Now».

Для окончания процесса бэкапа таблиц MySQL в появившемся диалоге проводника задаем имя файла резервной копии и папку для его сохранения.

Копия базы данной сохранена в указанной папке. Загляните в нее, и убедитесь в этом самостоятельно. Доверяй, но наличие бэкапа базы проверяй! Извините, последствие «наступа» на осенний лист

Использования MySQLDump

В набор встроенных средств СУБД входит MySQLDump, которая пригодится, чтобы сделать бэкап базы MySQL, когда «под рукой» нет специализированного ПО. Данная утилита не имеет собственного интерфейса, поэтому вся работа с ней происходит через командную строку. Запускаем cmd и переходим на тот диск и директорию, где хранится исполняемый файл утилиты:

Давайте немного поэкспериментируем с утилитой MySQLDump. Например, с помощью MySQL сделаем бэкап базы world и разместим его на рабочем столе. Код запроса:

mysqldump -uroot wordpress>C:\Users\домашний\Desktop\dump\world_copy.sql

mysqldump - uroot wordpress > C : \ Users \ домашний\ Desktop \ dump \ world_copy . sql

Теперь заглянем на свой рабочий стол (в указанную папку), проверим ее содержимое.

Утилита справилась с возложенной на нее миссией, и создала дубликат заданной базы в указанном нами месте файловой системы ПК.

Многим покажется, что я привожу слишком простые примеры реализации, Конечно, можно рассмотреть бэкап MySQL rsync, но соваться без подготовки в «неизвестные дебри» новичкам не стоит. Как-нибудь в другой раз, когда мы все окрепнем в своих

Создание резервных копий средствами PHP

С самого первого знакомства с языком PHP он показался мне очень сложным, и даже неприветливым. Но затем, освоив правила синтаксиса, все стало на свои места. И теперь я и PHP стараемся дружить. Опять с меня лирика «прет»! Пардон, друзья.

Сейчас рассмотрим простейший пример бэкапа MySQL в PHP. Для этого мы будет использовать не совсем «средства языка». Из файла PHP мы запустим уже хорошо нам знакомую утилиту MySQLDump и передадим ей все нужные параметры для создания копии указанной базы.

Код примера занимает всего несколько строк, и все благодаря PHP-функции system(), которая запускает на выполнению внешнюю (системную) программу, переданную ей в качестве основного параметра. Ее синтаксис:

string system (string $commandа [, int &$return_variable ])

string system (string $ command а[ , int & $ return _ variable] )

В общем, это полезная функция, которая нам пригодиться для создания MySQL бэкапа в Cети. Пример кода:

C:/Users/домашний/Desktop/dump/world_copy.sql"; system($commanda); ?>

$commanda = "mysqldump -uroot wordpress>C:/Users/домашний/Desktop/dump/world_copy.sql" ;

system ($commanda ) ;

До боли знакомый код! И результат тоже почти идентичен предыдущему. Но ведь это PHP, и его возможности почти безграничны. Давайте немного «подшаманим» пример, и сделаем так, чтобы код бэкапа MySQL скрипта создавал копию БД, имя которой включает в себя дату ее «сотворения».

Самое главное перед любыми глобальными изменениями делать резервные копии как файлов так и базы данных. Решил написать коротенькую стать, о том как сделать резервную копию (бэкап) базы данных в phpMyAdmin.

phpMyAdmin — Резервная копия базы данных (бэкап).

Вы наверняка уже знаете , если хоть раз разворачивали CMS для создания сайтов на , ибо они без базы попросту не будут работать. Вот у Вас уже есть готовый проект, и Вы не хотели бы чтобы из-за какого-то плагина или маломальского вмешательства в базу данных он пропал. И чтобы всё это восстановить нам потребуется резервная копия базы данных.

Что бы сделать резервную копию базы данных заходим в phpMyAdmin и выбираем нашу базу данных. Дальше необходимо перейти на вкладку «Экспорт» и просто нажать кнопку «Вперёд»

После чего нам предложат скачать файл с названием нашей базы данных и расширением «.sql». Собственно это и сеть наша резервная копия. Так же есть отдельные плагины для таких бэкапов и их множество, в зависимости от CMS, у некоторых хостеров так же можно сделать резервные копии не входя в phpMyAdmin. Так что данный способ является одним из вариантов.

Что бы восстановить, процесс похожий, просто чистим нашу текущую базу данных от таблиц или удаляем, переходим во вкладку «Импорт» и выбираем наш файл, который мы экспортировали ранее. Нажимаем «Вперёд» и получаем старую базу данных.

Loading...Loading...