Я в настоящее время использую mySQLdump для резервного копирования моей dev машины и серверов.
Существует один проект, который я только что запустил, однако, который имеет базу данных HUUUUUGE, в которой я действительно не нуждаюсь сохраненный, и я буду большой проблемой для добавления его к остальной части резервного цикла.
Я в настоящее время делаю это:
"c:\Program Files\mysql\MySQL Server 5.1\bin\mysqldump" -u root -pxxxxxx --all-databases > g:\backups\MySQL\mysqlbackup.sql
Действительно ли возможно так или иначе указать "кроме этой базы (баз) данных"?
Я не хотел бы должным быть указывать список DBS вручную, так как это будет означать, что я должен был бы не забыть обновлять свой резервный пакетный файл каждый раз, когда я создаю новый DB, и я знаю, что это не собирается происходить.
Править: Как Вы, вероятно, предположили из моей командной строки выше, я делаю это в Windows, таким образом, я не могу сделать никакого вида необычного материала удара, только wimpy .bat вещи.
С другой стороны, если у Вас есть другие идеи решить эту ту же проблему, они - больше, чем приветствие, конечно!
mysql ... -N -e "показать базы данных, такие как '%';" |
grep
-v -F databaseidontwant |
xargs
mysqldump ... --databases> out.sql
Создайте пользователя резервного копирования и предоставьте ему доступ только к базам данных, для которых требуется создать резервную копию.
Вам все равно нужно помнить о явном предоставлении привилегий, но это можно сделать в базе данных и не нужно редактировать файл.
Что насчет
--ignore-table=db_name.tbl_name
Не выгружать заданную таблицу, которая должна быть указана с использованием имен базы данных и таблицы. Чтобы игнорировать несколько таблиц, используйте эту опцию несколько раз.
Возможно, вам потребуется указать несколько, чтобы полностью игнорировать большую базу данных.