Бэкап баз данных MySQL в Linux

Если вы используете сервер MySQL с важной информацией, у вас может возникнуть желание периодически делать резервные копии баз данных. Инструмент командной строки Linux под названием mysqldump позволяет вам забэкапить базы данных MySQL без необходимости останавливать MySQL сервер. mysqldump на выходе генерирует текстовый файл, содержащий серию MySQL команд, которые представляют текущий снимок баз данных, которые были подвергнуты резервному копированию. Полученный на выходе mysqldump файл, может быть с лёгкостью сжат и/или зашифрован, если в этом есть необходимость.

В этом уроке я опишу как сделать резервную копию MySQL сервера с помощью mysqldump.

Программа mysqldump содержится в клиентском пакете MySQL. Поэтому, в первую очередь нужно установить клиентский пакет.

Для установки mysqldump на Ubuntu, Debian или Mint:

Для установки mysqldump на CentOS, Fedora или RedHat:

Чтобы сгенерировать онлайн снимок живого MySQL сервера, вам нужно предотвратить любые обновления его баз данных во время процедуры создания резервной копии. Как добиться этого зависит от системы хранения, которое вы используете внутри для MySQL таблиц. Поэтому в первую очередь выясните, какую систему хранения (например, MyISAM, Innodb) вы используете. Эта инструкция расскажет вам как.

Резервное копирование баз данных InnoDB

Если все ваши MySQL используют InnoDB, вы можете использовать опцию "—single-transaction" с mysqldump для создания онлайн бэкапа:

Обратите внимание, что в вышеприведённой mysqldump команде нет пробелов между опциями аргументов (например, -h, -u, -p) и самими величинами аргумента (например, server-ip-address, username, password).

Резервные копии баз данных MyISAM или InnoDB/MyISAM

Приведённая выше команда, тем не менее, не работает, если вы используете таблицы MyISAM или смесь таблиц InnoDB/MyISAM, поскольку MyISAM не поддерживает транзакции. В этом случае вам нужно явным образом заблокировать все таблицы на время проведения резервного копирование. Как это сделать показано ниже.

Вышеприведённый MySQL оператор flush закрывает все открытые таблицы в сервере MySQL и получает блоки чтения всех таблиц во всех существующих базах данных, тем самым предотвращая любые записи в базы данных. Это обеспечивает последовательных снимок запущенной системы. Теперь продолжайте выполнять резервное копирование.

По окончании снимите глобальную блокировку баз данных.

Бэкап баз данных MySQL в Widnows

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

Файл в Widnows называется mysqldump.exe, лежит в подкаталоге bin корневого каталога MySQL. При запуске из командной строки нужно прописывать полный путь до файла. Например, у меня этот файл размещён в папке C:Serverbinmysql-5.6bin, следовательно моя команда (запускаю в командной строке — Win+X и там выбрать «Командная строка»):

Если делаете на локальном компьютере, то -h[server-ip-address] можно пропустить.

Для файла backup.sql тоже можно указать абсолютный путь, чтобы потом не пришлось искать его по всему Widnows. Если абсолютный путь не указан, и если командная строка запущена не от имени администратора, то файл по умолчанию будет размещён в корне пользовательского каталога.

Например, у меня файл появился в папке C:UsersAlex

Если командная строка запущена от имени администратора, то файл появится в каталоге C:WindowsSystem32

Похожие темы

Сетевой анализатор Linux: Netsniff-ng... Перевод: Анна Давыдова Источник: n0where.net Netsniff-ng - Сетевой анализатор Linux Швейцарский армейский нож для ежедневного подключения к сет...
Инструкция по установке Tails с возможностью сохра... Что такое Tails? Tails — это дистрибутив Linux, главный приоритет авторов при его создании — конфиденциальность пользователей. Все с...
Как установить Kali Linux на флешку и на внешний д... Преимущества установки Linux на флешку Преимуществ у установки Kali Linux на флешку много: возможность напрямую использовать всё железо компью...
Как выполнить MySQL запрос в скрипте командной стр... Когда вы пишите скрипт командной строки как часть некоторой пакетной обработки, бывают ситуации, когда скрипту нужно обработать данные, хранящиеся н...
Как сделать бэкап сайта с WordPress в Dropbox... Для чего нужно делать бэкап сайта в Dropbox У большинства нормальных хостингов предусмотрена возможность создания бэкапов. В зависимости от вида...