Mysqldumper: сброс каждой таблицы отдельно

Как я могу сбрасывать каждую таблицу mysql отдельно с помощью mysqldump?

Справочная информация. Я хочу отслеживать эти дампы с помощью git и используя крюк pre-commit

Пример: У меня есть схема с 10 таблицами (таблица1 - таблица10). теперь я хочу файл для таблицы: table1.sql table2.sql ...

Итак, как это работает?

Snd почему stackoverflow не нравится мой вопрос?

Ответ 1

Это должно работать в оболочке:

for x in `mysql --skip-column-names -u [username] -p[password] [dbname] -e 'show tables;'`; do
     mysqldump -u [username] -p[password] [db name] $x > "$x.sql"
done

Ответ 2

надеюсь, что это поможет

mysqldump --user=dbuser --password --tab=~/output/dir dbname

у вас будет один файл tablename.sql, содержащий каждую схему таблицы (create table statement) и файл tablename.txt, содержащий данные.

mysqldump --user=dbuser --password --no-data --tab=~/output/dir dbname

если вы хотите создать дамп только с помощью схемы, добавьте флаг -no-data:

Ответ 3

mysqldump -t -u [username] -p test mytable

удалит таблицу mytable из теста базы данных.

Если вы хотите автоматизировать процедуру, вам нужно написать script, что выбирает для вас таблицы_имя из схемы и применяет операцию выше для каждой таблицы. Вы также можете автоматизировать операции git.