Является ли копирование /var/lib/mysql хорошим альтернативой mysqldump?
Так как я делаю полную резервную копию всей моей системы debian, я думал, что если копия каталога /var/lib/mysql
является жизнеспособной альтернативой удалению таблиц с помощью mysqldump.
- все сведения, необходимые в этом каталоге?
- Можно ли импортировать отдельные таблицы в другой mysql?
- Могут ли возникать проблемы при восстановлении этих файлов на (возможно, немного) другой версии сервера mysql?
Ответы
Ответ 1
- Да
- Да, если в таблице используется механизм MyISAM (по умолчанию). Нет, если он использует InnoDB.
- Возможно, нет, и если есть, вам просто нужно выполнить mysql_upgrade, чтобы исправить их.
Чтобы избежать попадания баз данных в несогласованное состояние, вы можете либо закрыть MySQL, либо использовать LOCK TABLES, а затем FLUSH TABLES перед резервным копированием. Второе решение немного лучше, потому что сервер MySQL останется доступным во время резервного копирования (хотя и только для чтения).
Ответ 2
Этот подход будет работать только безопасно, если вы сначала закроете базу данных. В противном случае вы могли бы оказаться в непоследовательном состоянии после этого. Сначала используйте команду /etc/init.d/mysql. Затем вы можете перезапустить его после выполнения резервного копирования.
Ответ 3
Это нормально, если вы сначала завершите работу MySQL, и используйте ту же самую версию, чтобы получить "резервную копию". В противном случае это не так.
Ответ 4
Для полного обсуждения двух стратегий вам необходимо прочитать следующее: https://dev.mysql.com/doc/refman/5.5/en/backup-types.html
В настоящее время самое лучшее бесплатное решение с открытым исходным кодом похоже на Percona's: http://www.percona.com/software/percona-xtrabackup