Этот вопрос был задан на Форумы MySQL в 2004 году без ответов.
Я устанавливаю MySQL 5.0.x на Windows 2003 Server для использования с Drupal. Я начал настраивать резервное копирование с помощью mysqldump, когда мне пришло в голову, что ntbackup, созданный с использованием теневого копирования, должен быть достаточно надежным для резервного копирования базы данных. Есть ли изъян в моей логике?
Это полностью зависит от состояния службы mysql во время резервного копирования. Но простой ответ - нет, это небезопасный или хороший способ сделать резервную копию mysql. Вы должны использовать включенный mysqlbackup для периодического резервного копирования базы данных. Вы можете делать резервные копии на локальном компьютере, а затем создавать резервные копии с помощью ntbackup.
Я предполагаю, что mysql db уже используется. Иначе это не имело бы смысла.
Возможно, вы хотите настроить реплицированную базу данных mysql и отключить ведомое устройство от ведущего во время резервного копирования ведомой базы данных, а затем повторно подключиться, чтобы ведомое устройство могло снова догнать его до следующего резервного копирования. Вы можете сделать это с помощью скриптов.
редактировать: Если вы делаете снимки состояния только для чтения с помощью теневого копирования nt, это не сильно меняет. Это поможет вам с проблемой сравнения, но не с согласованностью.
Если вам нужна последовательная резервная копия, вы должны сделать это на уровне mysql, например, как я описал выше. Mysql будет использовать двоичный журнал для репликации баз данных, и у вас должна быть максимальная согласованность. Бинарный журнал будет учитывать транзакции.
Но на уровне приложений есть что учесть: http://dev.mysql.com/doc/refman/5.0/en/replication-features-transactions.html
Как правило, никогда не выполняйте резервное копирование каталога данных (каталогов) работающей базы данных. Сделайте резервную копию каталога только в том случае, если вы можете сначала выключить базу данных. Если база данных работает и поддерживает горячее резервное копирование, вы можете выполнять резервное копирование при работающей базе данных. Обычно для этого требуется связь между программой резервного копирования и программой базы данных.
Возможно, но я бы не стал на это рассчитывать. Данные могут быть кэшированы в памяти или изменены во время их копирования. Если вы выключите MySQL перед резервным копированием данных, он должен быть надежным. Есть инструменты администрирования для резервного копирования. Это создаст надежные резервные копии в другом каталоге.