Возможно, ваш подход не оптимален, или я неправильно понимаю вопрос (или тот, кто дал вам задание, не знает, как лучше всего выполнять резервное копирование баз данных MySQL).Если бы я был на вашем месте, я бы поставил это перед тем, кто попросил вас выполнить эту задачу, чтобы сделать дампы базы данных в виде простого текста SQL (*.sql
) и поместить их в каталог резервных копий было бы проще / проще, чем делать резервные копиисам каталог данных, который содержит двоичные представления файлов баз данных.
Со страницы руководства MySQLdump :
Чтобы вывести все базы данных:
$ mysqldump --all-databases > dump.sql
Чтобы создать дамп только определенных баз данных, назовите их в командной строке и используйте параметр --databases
:
$ mysqldump --databases db1 db2 db3 > dump.sql
Параметр --databases
вызывает всеимена в командной строке должны рассматриваться как имена баз данных.Без этой опции mysqldump
обрабатывает имя как имя базы данных, а следующие как имена таблиц.
С --all-databases
или --databases
, mysqldump
пишет CREATE DATABASE
и USE
операторы перед выводом дампа для каждой базы данных.Это гарантирует, что когда файл дампа перезагружается, он создает каждую базу данных, если она не существует, и делает ее базой данных по умолчанию, поэтому содержимое базы данных загружается в ту же базу данных, из которой они были получены.Если вы хотите, чтобы файл дампа заставлял отбрасывать каждую базу данных перед ее воссозданием, используйте также параметр --add-drop-database
.В этом случае mysqldump
записывает оператор DROP DATABASE
, предшествующий каждому оператору CREATE DATABASE
.
Чтобы вывести одну базу данных, укажите ее в командной строке:
$ mysqldump --databases test > dump.sql
Упражнение для читателя: Напишите сценарий (crontab) или настройте запланированное задание для выгрузки баз данных и перемещения вывода на сетевой диск.
Если это не то, что требуется,но доступ к базе данных несколькими людьми есть, создавайте учетные записи пользователей, используя вместо этого СУБД MySQL Server.(Может потребоваться настроить сервер для разрешения удаленного доступа. В этом случае удалите все учетные записи test
или anonymous
/ blank password
и измените пароль root на более безопасный, чем root
, admin
или password1
.)