我知道为了获得数据库转储,我可以忽略一些表。但是我想转储所有的表,其中包含一些百分比的数据,比如20% 40%,因为整个转储太大了。下面是我的普通转储查询。
mysqldump -h dburl -u user -p password --databases dbname > dbname.sql
我不是在寻找特定的操作系统和使用Linux Ubuntu。
发布于 2018-05-31 07:32:06
听起来您想避免编写脚本,一种快速的解决方案是使用mysqldump的--where
选项。
mysqldump --opt --where="1 limit 1000" myschema
这将把转储限制为1000行-显然要根据您的大小限制进行调整。
您可以通过一个偏移量转储来获得下一个1000 -需要一个小的调整,这样就不会重新创建表。
mysqldump --opt --where="1 limit 1000 offset 1000" --no-create-info myschema
您可以进一步混合这一点,假设您只需要所有数据的40%,来自随机选择的行:
mysqldump --opt --where="1 having rand() < 0.40" myschema
https://stackoverflow.com/questions/50465869
复制相似问题