Бэкап баз данных 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

Похожие темы

Как использовать сканер безопасности NMAP на Linux... Nmap — это бесплатная, с открытым исходным кодом утилита исследования сети и проведения аудита безопасности. Она широко используется в сообщес...
Как установить сервер VNC на Linux... Virtual Network Computing (VNC) позволяет создавать совместный доступ другим удалённым пользователям к окружению рабочего стола локального хост...
FTP-Map: определяем программное обеспечение и его ... Ftpmap сканирует удалённые FTP-сервера для идентификации, какое программное обеспечение и какой версии они используют. Она использует специфичн...
Самые частые ошибки и вопросы при настройке и уста... Ошибка: Fatal error: Call to undefined function mb_detect_encoding() in C:serverdatahtdocsphpmyadminlibrariesphp-gettextgettext.inc on line 177 Реше...
Обновление сервера Apache и его компонентов... Вот здесь я рассказывал, как установить локальный сервер Apache. Со временем выходят новые версии программ, и возникает необходимость обновления. Проц...