Mysqldumper:分别转储每个表

时间:2012-02-20 09:47:00

标签: mysql git

如何使用mysqldump单独转储每个mysql表?

背景:我想用git跟踪那些转储并使用预提交钩子

实施例: 我有一个包含10个表的模式(table1 - table10)。 现在我想要每个表一个文件: table1.sql table2.sql ...

那怎么会这样呢?

为什么stackoverflow不喜欢我的问题?

2 个答案:

答案 0 :(得分:33)

这应该在shell中起作用:

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

答案 1 :(得分:1)

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

将从数据库'test'中转储表'mytable'。

如果要自动执行该过程,则需要编写一个脚本 从模式中选择table_names并应用上面的操作 对于每个表。您也可以自动执行git操作。