Резервное копирование одной таблицы
Делаем выгрузку одной таблицы из базы данных MySQL на сервере (который использует стандартный порт MySQL) и сохраняем его как sql-инструкцию.
Резервное копирование всей базы
Делаем выгрузку из своей базы данных на сервере MySQL, перенаправляем вывод на архиватор gzip и сохраняем архив в файл с именем формата:
[4 цифры года][2 цифры месяца][2 цифры дня]-[2 цифры часа][2 цифры минуты].sql.gz
А теперь по порядку.
Допустим, где-то в сети у нас есть сервер MySQL, на котором лежит нечто важное. Всё, что у нас есть - это данные для доступа к этому серверу и подключения нашей базы данных. А именно:
db_server_host - имя нашего сервера в сети или его IP-адрес
db_server_port - порт, с которого MySQL слушает запросы (кстати, по умолчанию - 3306)
db_name - имя нашей базы данных на сервере
db_user_name - имя пользователя базы данных
db_user_password - пароль пользователя базы данных
Мы не доверяем администраторам сервера, на котором находится наша база и хотим делать резервные копии самостоятельно. Для этого сделана специальная программа: mysqldump.
mysqldump - это клиент mysql, программа для снятия резервных копий, написанная Игорем Романенко. Она может быть использована для выгрузки как одной базы данных, так и набора баз, для резервного копирования или переноса данных на другой SQL сервер (не обязательно MySQL). Выгрузка представляет собой инструкции SQL для создания таблиц, их заполнения или и того, и другого вместе.
Для более подробной информации:
Разберём команду для резервного копирования.
Здесь команда выгрузки базы данных в чистом виде. Проблема только в том, что вся выгруженная информация пойдёт на стандартное устройство вывода, а по умолчанию это экран. Можно перенаправить вывод сразу в файл таким образом:
Тогда вся база сохранится в файле out.sql в текущей директории. Это можно стерпеть, если размер базы небольшой, а выгрузка делается нерегулярно и вручную. Но из соображений, что данные выгружаются в виде инструкций SQL (то есть в текстовом виде), а текстовые данные замечательно сжимаются, лучше перенаправить вывод в программу gzip.
Напомню, что перенаправление вывода в приложение осуществляется символом "|" - вертикальная черта, с указанием после неё приложения; перенаправление вывода в файл - символом ">" - знак «больше». Результат будет выглядеть примерно так:
В исходном варианте имя файла для вывода создаётся командой `date +%Y%m%d-%H%M`, мне так удобнее не запутаться в архивах. Но здесь у каждого свои предпочтения.
Кстати, знак «`», который на клавиатуре располагается в английской раскладке под тильдой (~), она же буква «ё» в русской раскладке, называется машинописный обратный апостроф или просто обратный апостроф. В скриптах на bash им ограничивается кусок кода, результат выполнения которого вставится в сам код.
Комментарии
ыыы
#cid89339
Ответить
прикольная капча. дайте скрипт. =)
#cid89340
Ответить
Чуть позже вывешу :)
ыыы другой
#cid91675
Ответить
Что на счет капчи?
#cid91677
Ответить
#cid91675, ыыы другой
Запарка, даже актуальные заметки выкладывать не успеваю.