首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Mysql对整个数据库的某些部分进行转储,比如10-20%

Mysql对整个数据库的某些部分进行转储,比如10-20%
EN

Stack Overflow用户
提问于 2018-05-22 18:51:47
回答 1查看 354关注 0票数 9

我知道为了获得数据库转储,我可以忽略一些表。但是我想转储所有的表,其中包含一些百分比的数据,比如20% 40%,因为整个转储太大了。下面是我的普通转储查询。

代码语言:javascript
复制
mysqldump -h dburl -u user -p password --databases dbname > dbname.sql

我不是在寻找特定的操作系统和使用Linux Ubuntu。

EN

回答 1

Stack Overflow用户

发布于 2018-05-31 07:32:06

听起来您想避免编写脚本,一种快速的解决方案是使用mysqldump的--where选项。

代码语言:javascript
复制
mysqldump --opt --where="1 limit 1000" myschema

这将把转储限制为1000行-显然要根据您的大小限制进行调整。

您可以通过一个偏移量转储来获得下一个1000 -需要一个小的调整,这样就不会重新创建表。

代码语言:javascript
复制
mysqldump --opt --where="1 limit 1000 offset 1000" --no-create-info myschema

您可以进一步混合这一点,假设您只需要所有数据的40%,来自随机选择的行:

代码语言:javascript
复制
mysqldump --opt --where="1 having rand() < 0.40" myschema
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50465869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档