Mysqldumper:分别转储每个表

Nil*_*ann 12 mysql git

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

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

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

那怎么会这样呢?

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

Eds*_*ina 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
Run Code Online (Sandbox Code Playgroud)

  • 不,你的答案更好:) thanx (5认同)

hov*_*yan 1

mysqldump -t -u [username] -p test mytable
Run Code Online (Sandbox Code Playgroud)

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

如果您想自动化该过程,则需要编写一个脚本,从架构中选择 table_names 并为每个表应用上面的操作。您也可以自动化 git 操作。