5.3. Резервирование базы данных
5.3. Резервирование базы данных
Резервное копирование баз данных необходимо, чтобы в случае сбоев операционной системы, файловой системы или разрушения физических носителей информации вы могли восстановить данные из резервной копии и с минимальными потерями продолжить работу. В MySQL предусматривается множество способов резервного копирования данных, так что вы можете выбрать наиболее подходящий для вас.
Рекомендуется использовать стратегию резервного копирования, которая сочетает два взаимодополняющих метода:
• периодическое полное резервное копирование базы данных;
• ведение двоичных журналов, в которых регистрируются все изменения данных в промежутках между резервными копированиями.
Слишком частое полное резервирование неэффективно, поскольку занимает много времени, а значительная часть данных в базе не успевает измениться. Поэтому наряду с полным резервированием используется промежуточное, которое заключается в копировании двоичных журналов на резервный носитель. Таким образом, даже в случае полного разрушения диска, на котором располагается база данных, вы сможете восстановить не только информацию, сохраненную при полном копировании, но и последующие изменения вплоть до момента последнего промежуточного копирования.
В зависимости от назначения и интенсивности эксплуатации вашей базы данных вы можете подобрать оптимальную частоту полного и промежуточного резервирования. Например, полное резервное копирование может выполняться еженедельно, а промежуточное – ежедневно.
Вначале вы узнаете, как настроить запись информации в двоичные журналы, затем узнаете об организации полного копирования и, наконец, познакомитесь с процедурой восстановления данных в случае сбоя.
Двоичные журналы
Файл двоичного журнала накапливает историю изменений в базе данных за некоторый промежуток времени и позволяет в случае необходимости воспроизвести эти изменения.
Чтобы включить ведение двоичных журналов, запустим сервер MySQL с параметром –log-bin. Это можно сделать одним из следующих способов.
• Если вы запускаете сервер вручную из командной строки (об этом шла речь в подразделе «Запуск и остановка сервера MySQL из командной строки» главы 1), укажите параметр –log-bin в команде запуска сервера:
mysqld-nt –log-bin
• Если сервер MySQL сконфигурирован как сервис Windows и запускается автоматически, или с помощью панели управления, или с помощью MySQL Administrator (см. подразделы «Запуск и остановка сервера MySQL с помощью MySQL Administrator» и «Запуск и остановка сервера MySQL с панели управления» главы 1), откройте конфигурационный файл my.ini, находящийся в папке, где установлена программа MySQL, и добавьте параметр log-bin в раздел [mysqld] (рис. 5.9). Сохраните файл my.ini. Ведение журналов начнется после перезапуска сервера.
• Вместо того чтобы редактировать файл my.ini вручную, вы можете запустить MySQL Administrator, в левой области главного окна щелкнуть пункт Startup Variables (Параметры запуска), открыть вкладку Log files (Журналы) (рис. 5.10) и установить флажок Binary Logfile (Двоичный журнал), а затем нажать кнопку Apply Changes (Сохранить изменения). Чтобы сервер MySQL начал вести журналы, его необходимо перезапустить.
В процессе работы сервера в папке data корневой папки MySQL будут создаваться двоичные журналы – файлы с именами вида <Имя xocTa>-bin.xxxxxx, где xxxxxx – порядковый номер журнала. Очередной файл журнала создается в следующих случаях:
• при достижении предельного размера предыдущего файла;
• при запуске (перезапуске) сервера;
• при принудительном «сбросе» журналов.
«Сброс» журналов необходим при выполнении полного резервного копирования, чтобы изменения с момента резервирования отражались в новом файле (старые файлы журналов при этом становятся не нужны). Кроме того, принудительный «сброс» осуществляется перед промежуточным резервным копированием: сервер начнет протоколировать изменения в новом файле, а предыдущие файлы вы скопируете на резервный носитель.
Для «сброса» журналов выполните SQL-команду FLUSH LOGS; либо запустите утилиту mysqladmin с параметром flush-logs, выполнив в окне командной строки Windows командуmysqladmin -u <Имя пользователя> -p flush-logs
После появления приглашения Enter password (Введите пароль) введите пароль пользователя.
Для сокращения трудозатрат на администрирование базы данных рекомендуется настроить промежуточное резервирование в автоматическом режиме, по расписанию. Чтобы организовать принудительный «сброс» журналов по расписанию, выполните следующие действия:
1. Откройте панель управления Windows и дважды щелкните на значке Назначенные задания.
2. В появившемся окне Назначенные задания щелкните правой кнопкой мыши и в контекстном меню выберите последовательно пункты Создать ? Назначенное задание (рис. 5.11). Введите название задания, например MySQL Incremental Backup.
3. Дважды щелкните на названии задания. В окне настройки задания на вкладке Задание (рис. 5.12) в поле Выполнить введите команду
mysqladmin -u <Имя пользователя>
-p<Пароль пользователя> flush-logs
Пользователь, от имени которого выполняется «сброс» журналов, должен обладать привилегией RELOAD. Обратите внимание, что пароль пользователя должен следовать сразу после ключа -p без пробела. Учитывая риск разглашения пароля, рекомендуем выполнять «сброс» журналов не от имени пользователя root, а от имени специально зарегистрированного пользователя, не имеющего никаких привилегий, кроме RELOAD.
4. Нажмите кнопку Задать пароль. В окне Установка пароля дважды введите ваш пароль в Windows (не пароль в MySQL!). Нажмите кнопку OK.
5. Перейдите на вкладку Расписание (рис. 5.13) и укажите время, в которое будет ежедневно выполняться «сброс» журналов.
6. Если промежуточное резервное копирование необходимо выполнять несколько раз в течение дня, нажмите кнопку Дополнительно. В окне Дополнительные параметры расписания установите флажок Повторять задание и настройте периодичность выполнения задания (рис. 5.14). Нажмите кнопку OK.
7. В окне настройки задания нажмите кнопку OK для сохранения задания.
8. В окне Назначенные задания протестируйте созданное задание. Для этого щелкните на названии задания правой кнопкой мыши и в контекстном меню выберите пункт Выполнить. В папке data корневой папки MySQL должен появиться новый двоичный журнал.
Следующий этап промежуточного резервирования – копирование двоичных журналов на резервный носитель информации. Для решения этой задачи существует множество утилит, как платных, так и бесплатных, которые позволяют по расписанию создавать резервные копии файлов на любом носителе – CD, DVD, USB, удаленном FTP-сервере и др.
В частности, для копирования файлов на другой компьютер в локальной сети вы можете воспользоваться утилитой xcopy, входящей в состав Windows. Запуск этой утилиты по расписанию настраивается аналогично «сбросу» журналов. В качестве выполняемой команды введитеxcopy «<Корневая папка MySQL>/data» «<Папка на резервном носителе>» /c/d/y
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Объекты базы данных
Объекты базы данных Ранее мы рассмотрели три основных системных объекта для поддержки базы данных: области данных, индексы областей данных и курсоры. Как и остальные системные объекты, они занимают несколько сегментов в одноуровневой памяти. Каждый из них имеет базовый
Экспорт данных из базы данных Access 2007 в список SharePoint
Экспорт данных из базы данных Access 2007 в список SharePoint Access 2007 позволяет экспортировать таблицу или другой объект базы данных в различных форматах, таких как внешний файл, база данных dBase или Paradox, файл Lotus 1–2–3, рабочая книга Excel 2007, файл Word 2007 RTF, текстовый файл, документ XML
Перемещение данных из базы данных Access 2007 на узел SharePoint
Перемещение данных из базы данных Access 2007 на узел SharePoint Потребности многих приложений Access 2007 превышают простую потребность в управлении и сборе данных. Часто такие приложения используются многими пользователями организации, а значит, имеют повышенные потребности в
Спасение данных из поврежденной базы данных
Спасение данных из поврежденной базы данных Возможно, что все вышеприведенные действия не приведут к восстановлению базы данных. Это означает, что база серьезно повреждена и либо совсем не подлежит восстановлению как единое целое, либо для ее восстановления понадобится
Кеш базы данных
Кеш базы данных Кеш базы данных служит для хранения наиболее часто используемых страниц из базы данных. Его размер исчисляется в страницах и может быть установлен тремя разными способами:* Заданием параметра файла конфигурации ibconfig DATABASE CASHE PAGES. При этом
2.2.5. Базы данных
2.2.5. Базы данных При написании CGI приложений, вам необходим, какой то путь для доступа к данным базы. Одним из простых решений будет использование BDE и помещение ваших данных в таблицы Парадокса или dBASE. Если по какой либо причине BDE не инсталлировано на вашем NT Web сервере
Базы данных
Базы данных 1. В чем заключаются преимущества нового 32-разрядного Borland Database Engine? Новый 32-разрядный Borland Database Engine включает полностью новое ядро запросов, которое было оптимизировано для работы как с удаленными SQL-серверами, так и с локальными данными. 32-разрядный Borland Database
Восстановление и резервирование данных
Восстановление и резервирование данных DVD и CD невечны. Естественное старение, неосторожное обращение, в результате которого появляются царапины, – и некоторые сектора диска могут не читаться, соответственно, скопировать файл уже невозможно. Самый простой способ
Обновление базы данных с помощью объекта адаптера данных
Обновление базы данных с помощью объекта адаптера данных Адаптеры данных могут не только заполнять для вас таблицы объекта DataSet. Они могут также поддерживать набор объектов основных SQL-команд, используя их для возвращения модифицированных данных обратно в хранилище
Алиасы базы данных
Алиасы базы данных Firebird 1.5 ввел концепцию алиасов базы данных не только для того, чтобы облегчить жизнь уставших от клавиатуры разработчиков, но и для того, чтобы улучшить переносимость приложений, а также чтобы усилить контроль над внутренним и внешним доступом к файлу
Базы данных
Базы данных Каждая база данных располагается в одном или более файлах, которые динамически увеличиваются при возникновении такой необходимости. Файлы базы данных должны храниться на дисках, находящихся под физическим управлением машины, где располагается сервер.
Кэш базы данных
Кэш базы данных Кэш базы данных- участок памяти, зарезервированной для базы данных, выполняющейся на сервере. Его назначение - хранение всех страниц базы данных (также называется буферами), которые были использованы последними. Он конфигурируется по умолчанию для новых
Базы данных (классы для работы с базами данных)
Базы данных (классы для работы с базами данных) В MFC включены несколько классов, обеспечивающую поддержку приложений, работающих с базами данных. В первую очередь это классы ориентированные на работу с ODBC драйверами – CDatabase и CRecordSet. Поддерживаются также новые средства для
Резервирование данных
Резервирование данных Потеря данных может иметь далеко идущие последствия, ведь не секрет, что информация. хранящаяся на винчестерах пользователей, иногда стоит дороже самих компьютеров. Один из способов дублирования важной информации — резервное копирование. Оно