16.3.1.1 Архивирование реплики с помощью mysqldump
Использование mysqldump для создания копии базы данных позволяет захватить все данные базы данных в формате, который позволяет импортировать информацию в другой экземпляр MySQL Server (см. Раздел 4.5.4, «mysqldump — Программа резервного копирования базы данных»). Поскольку формат информации представляет собой SQL-команды, файл легко распространяется и применяется к работающим серверам в случае необходимости доступа к данным в экстренной ситуации. Однако, если размер набора данных очень большой, mysqldump может быть непрактичным.
При использовании mysqldump необходимо остановить репликацию на реплике перед началом процесса дампинга, чтобы убедиться, что дамп содержит согласованный набор данных:
-
Остановите реплику от обработки запросов. Вы можете полностью остановить репликацию на реплике с помощью mysqladmin:
$>
mysqladmin stop-slaveВ качестве альтернативы можно остановить только поток репликации SQL, чтобы приостановить выполнение событий:
$>
mysql -e 'STOP SLAVE SQL_THREAD;'Это позволяет реплике продолжать получать события изменения данных из двоичного журнала источника и сохранять их в релейных журналах с использованием потока ввода-вывода, но предотвращает выполнение репликой этих событий и изменение её данных. В условиях интенсивной репликации разрешение потоку ввода-вывода работать во время резервного копирования может ускорить процесс догоняния при повторном запуске потока репликации SQL.
-
Запустите mysqldump для создания дампа ваших баз данных. Вы можете создать дамп всех баз данных или выбрать базы данных для дампинга. Например, чтобы создать дамп всех баз данных:
$>
mysqldump --all-databases > fulldb.dump -
После завершения дампинга снова запустите операции реплики:
$>
mysqladmin start-slave
В приведенном примере вы можете добавить учетные данные для входа (имя пользователя, пароль) в команды и объединить процесс в сценарий, который можно запускать автоматически каждый день.
Если вы используете этот подход, следите за процессом репликации, чтобы убедиться, что время, затрачиваемое на выполнение резервного копирования, не повлияет на способность реплики отслеживать события из источника. См. Раздел 16.1.7.1, «Проверка состояния репликации». Если реплика не может угнаться, вы можете добавить ещё одну реплику и распределить процесс резервного копирования. Пример конфигурации такой ситуации см. в Разделе 16.3.5, «Репликация различных баз данных на различные реплики».
© 2025 Oracle
Licensed under the GPLv2 License.