我希望能够备份行数少于100K的表。我要做的是将开发数据库克隆到我的本地机器,该机器有许多我不需要数据的日志表,以及具有“合法”内容的表。
所以我将有一个只复制表结构的转储,另一个转储从这些表中复制少于10万行的相关数据。
如果我必须使用像Python或PHP这样的中间语言,我就可以了。
编辑:问题是,如何从行少于100k的表创建数据的mysql转储?
答案 0 :(得分:2)
使用类似的东西
mysql databasename -u [root] -p[password] —disable-column-names -e
'select table_name from information_schema.tables where table_rows < 100000;'
| xargs mysqldump [databasename] -u [root] -p[password] > [target_file]
P.S。所有这些都需要在一行中
答案 1 :(得分:0)
仅转储架构
mysqldump --user=dbuser --password --no-data --tab=/tmp dbname
或尝试使用以下命令单独为每个表导出模式和数据
mysqldump --user=dbuser --password --tab=/tmp dbname
或
mysqldump --opt --where="1 limit 100000" database > fileName.sql
可以从每个表中获得100K行。
忽略一些表格
mysqldump --opt --where="1 limit 100000" --ignore-table=database.table1
--ignore-table=database.table2 database > fileName.sql