Ещё одна шпаргалка по администрированию UNIX серверов. На этот раз рассмотрим несколько полезных команд для создания бекапа базы данных из консоли.
Нам понадобится команда mysqldump, которая позволяет создавать sql скрипт базы или её части.
Создание дампа базы
В самом минимальном случае нужно сообщить реквизиты и имя базы. Во второй части команды мы перенаправляем вывод в указанный файл.
1 |
mysqldump -u[username] -p[password] [database-name] > . /dump/mydump.mysql |
По умолчанию, сервером базы считается localhost. Если это не так, укажите дополнительный параметр -h.
1 |
mysqldump -u[username] -p[password] -h[mysql-data-host] [database-name] > . /dump/mydump.mysql |
Добавим немного автоматизации. Если создание бекапов является частой задачей, то лучше сформировать батч-файл. Все случаи жизни предусмотреть невозможно, но в качестве затравки можно использовать следующий пример:
1 2 3 |
#!/bin/sh TM = `date "+%Y%m%d%H%M"` mysqldump -u[username] -p[password] [database-name] > . /dump/base_$TM.mysql |
Сохраняем это в какой то файл с расширением .sh, добавляем права на запуск. Каждый раз при запуске создаётся бекап с уникальным названием . Часть рутины осталась позади :)
Возможно, вы добавите сюда ввод имени базы из консоли и передачу каких то дополнительных флагов, но не стану лишать вас удовольствия совершенствовать код самостоятельно.