Создание бекапов базы mySQL из консоли unix

Ещё одна шпаргалка по администрированию UNIX серверов. На этот раз рассмотрим несколько полезных команд для создания бекапа базы данных из консоли.

Нам понадобится команда mysqldump, которая позволяет создавать sql скрипт базы или её части.

Создание дампа базы

В самом минимальном случае нужно сообщить реквизиты  и имя базы. Во второй части команды мы перенаправляем вывод в указанный файл.

По умолчанию, сервером базы считается localhost. Если это не так, укажите дополнительный параметр -h.

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

Сохраняем это в какой то файл с расширением .sh, добавляем права на запуск. Каждый раз при запуске создаётся бекап с уникальным названием . Часть рутины осталась позади :)

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

Читайте, как развертывать созданный бекап здесь.

Мало букафф? Читайте есчо !

Mysqldump без блокировки таблиц

Ноябрь 11, 2019 г.

По умолчанию для mysqldump требуются права пользователя на блокировку таблиц. Потому, когда вы создаёте бекапы, вы можете получить сообщение вроде: mysqldump: Got error: 1044: "Access denied for user 'USER'@'%' to database 'DATABASENAME'" when ...

Читать

Получить разницу дат в секундах в MySQL

Июнь 15, 2018 г.

Для начала выберем функцию с подходящей гранулярностью. DATEDIFF явно не подходит, т.к. даёт разницу в кол-ве целых дней. К счастью, есть аналогичная функция - TIMEDIFF, которая вычисляет разницу с точностью до микросекунд. Результат работы TIMEDIFF ...

Читать

Считаем полное число строк в запросе MySQL, ограниченного LIMIT

Ноябрь 2, 2012 г.

О полезном операторе - SQL_CALC_FOUND_ROWS. Это конструкция просто незаменима для организации постраничного вывода каких либо данных. Все время забываю синтаксис, приходится каждый раз искать. Решил записать в блоге, чтобы уж не терять :). Во всех ...

Читать

Нумерация при выборке строк в mySQL

Апрель 24, 2023 г.

В MSSQL есть функция ROW_NUMBER(), которая нумерует строки выборки. В MySQL такой функции пока нет, но мы можем использовать трюк с переменными для достижения нужного эффекта. К примеру, вы хотите выбрать название книг и пронумеровать список. Изначально ...

Читать
 

Комментарии к «Создание бекапов базы mySQL из консоли unix»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: