【问题标题】:Mysqldumper: Dumping each table separatelyMysqldumper:分别转储每个表
【发布时间】:2012-03-10 16:06:18
【问题描述】:

如何使用 mysqldump 分别转储每个 mysql 表?

背景:我想用 git 跟踪这些转储并使用 pre-commit 钩子

示例: 我有一个包含 10 个表(table1 - table10)的架构。 现在我想要每个表一个文件: 表1.sql 表2.sql ...

那么这将如何运作?

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

【问题讨论】:

标签: mysql git


【解决方案1】:
mysqldump -t -u [username] -p test mytable

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

如果你想自动化这个过程,你需要编写一个脚本, 为您从架构中选择 table_names 并应用上面的操作 对于每张桌子。您也可以自动执行 git 操作。

【讨论】:

  • 取决于您的操作系统。如果您使用的是 Linux - 可能是 bash 脚本。
【解决方案2】:

这应该在 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

【讨论】:

  • 其实 Naveen Kumar 的回答比我的好。
  • 不,你的答案更好:) thanx
猜你喜欢
  • 2014-09-30
  • 2021-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-05
  • 2018-12-24
  • 2017-11-26
  • 2019-07-21
相关资源
最近更新 更多