Если есть только базы данных MyISAM, резервное копирование и восстановление возможно простым копированием и вставкой папки данных, независимо от версий?
Но если есть базы данных INNODB, и мы уверены, что исходная и целевая версии будут идентичны, возможен ли этот метод копирования и вставки?
Было бы лучше не вводить какие-либо команды для выполнения резервного копирования, потому что человек, который собирается это сделать, никогда раньше не использовал командную строку.
Если бы нам всегда приходилось избегать командной строки, мы бы никогда не достигли Луны. Либо найди другого космонавта, либо тренируйся усерднее.
Если вы говорите о действующей базе данных в производственной среде, значения могут меняться, поэтому было бы ненадежно делать резервные копии базы данных любого типа, просто копируя кучу файлов.
Вы можете получить безопасную резервную копию всей базы данных mysql, включая системные таблицы, следующим образом:
mysqldump --all-databases > mysqlbackup.sql
Резервная копия находится в файле mysqlbackup.sql - его можно скопировать на ленту, DVD и т. Д.
Восстановление - это противоположность этому, выполняется перенаправлением файла резервной копии в клиент mysql.
mysql < mysqlbackup.sql
Для любой из этих команд вам может потребоваться -u для имени пользователя с правами администратора и -p для указания пароля.
Если вам абсолютно необходимо использовать копирование и вставку, службы MySQL на обоих концах должны быть остановлены, у вас должны быть одинаковые конфигурации, и вы должны скопировать все файлы журнала, а также папки с данными.
Однако, как уже указывалось, это плохой путь. Нет ничего страшного в том, чтобы создать сценарий и сказать человеку, который должен его запустить, какую команду набрать. Предполагая, что этот человек достаточно умен, чтобы иметь возможность войти в систему, я ожидаю, что у него / нее не будет проблем с запуском одной команды.
Другой вариант - создать реплику главный-подчиненный и поддерживать ее в актуальном состоянии, при этом пользователю не нужно ничего делать. Конечно, вам все равно нужно будет контролировать систему, чтобы убедиться, что она работает правильно, но вы все равно должны это делать.
Я бы вообще не рекомендовал копировать и вставлять файлы. Если у этого человека нет технических знаний, как вы можете быть уверены, что демон mysql правильно остановлен?
Если это для нетехнических пользователей, вам действительно стоит потратить время на создание сценария, который вызывает mysqldump для правильного создания резервной копии для них.
Вы действительно никогда не должны рассматривать подчиненное устройство репликации как хорошее решение для резервного копирования. Например, что, если что-то произойдет, когда база данных будет удалена или если на главном сервере выполняется другой вредоносный SQL? Эти операторы будут просто копироваться на ваше ведомое устройство и выполнять те же действия, что делает невозможным откат к точке до того, как событие произошло.
Следуйте советам Лабрадорта и хотя бы используйте mysqldump.