如何使用mysqldump单独转储每个mysql表?
背景:我想用git跟踪那些转储并使用预提交钩子
实施例: 我有一个包含10个表的模式(table1 - table10)。 现在我想要每个表一个文件: table1.sql table2.sql ...
那怎么会这样呢?
为什么stackoverflow不喜欢我的问题?
答案 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操作。