zoukankan      html  css  js  c++  java
  • 开发需求:每个表dump出部分数据

    mysqldump 每张数据表统一导出的N个记录数

    需求:

    在开发过程中,需要将生产的数据导出到本地开发环境,希望可以每个表都导出部分数据.由于生产数据表都是上千万或亿级别,直接从服务器导出数据会影响业务, 希望可以导出部分数据用于测试环境使用。

    实现:

    利用mysqldump参数来实现

    • --where='where_condition', -w 'where_condition'

    Dump only rows selected by the given WHERE condition. Quotes around the condition are mandatory if it contains spaces or other characters that are special to your command interpreter.

    • --where/-w 参数,它用来设定数据导出的条件,

    mysqldump -u用户名 -p密码 库名 表名 --where="筛选条件" > 导出文件路径

    • 详细如下:
    mysqldump -uroot -p -B employees --set-gtid-purged=OFF --where="true limit 100" > /software/every100.sql
    或者
    mysqldump -uroot -p -B employees --set-gtid-purged=OFF --where="1=1 limit 100 " > /software/every100.sql --employees库,每个表导出100条数据
    
    mysql -uroot -p'xxxxxxxx' -h192.168.xxx.xxx -e "show databases"|grep -Ev "Database|sys|information_schema|mysql|performance_schema|test"|xargs mysqldump -uroot -p'xxxxxxxx' -h192.168.xxx.xxx  --add-drop-table --flush-logs --single-transaction --master-data=2  -R --databases --where="1=1 limit 100" > each_100_`date +"%Y%m%d"`.sql
    
    • --where="true limit N"

    这个参数指为每个表增加一个LIMIT N 语句,导出时使用的是WHERE 拼接上 true limit, 拼接成where true limit N的语句并每个表统一导出的N个记录数.

  • 相关阅读:
    ASP.NET版本的Kindeditor插件的使用
    股票交易时间
    vs2010 安装mvc3
    JDK,JRE,JVM区别与联系
    使用 AngularJS 从零构建大型应用
    JavaScript奇技淫巧45招
    知道这20个正则表达式,能让你少写1,000行代码
    $timeout, $interval
    js页面loading加载
    jq倒计时
  • 原文地址:https://www.cnblogs.com/gczheng/p/9828702.html
Copyright © 2011-2022 走看看