zoukankan      html  css  js  c++  java
  • mydumper使用

    一、下载安装,打开https://launchpad.net/mydumper

    #wget https://launchpadlibrarian.net/185032423/mydumper-0.6.2.tar.gz

    #yum install -y glib2-devel mysql-devel zlib-devel pcre-devel

    #tar -xvf mydumper-0.6.2.tar.gz ; cd mydumper-0.6.2

    #cmake .

    #make & make install

    二、mydumper参数

    -B, --database              要备份的数据库,不指定则备份所有库
    -T, --tables-list           需要备份的表,名字用逗号隔开
    -o, --outputdir             备份文件输出的目录
    -s, --statement-size        生成的insert语句的字节数,默认1000000
    -r, --rows                  将表按行分块时,指定的块行数,指定这个选项会关闭 --chunk-filesize
    -F, --chunk-filesize        将表按大小分块时,指定的块大小,单位是 MB
    -c, --compress              压缩输出文件
    -e, --build-empty-files     如果表数据是空,还是产生一个空文件(默认无数据则只有表结构文件)
    -x, --regex                 是同正则表达式匹配 'db.table'
    -i, --ignore-engines        忽略的存储引擎,用都厚分割
    -m, --no-schemas            不备份表结构
    -k, --no-locks              不使用临时共享只读锁,使用这个选项会造成数据不一致
    --less-locking              减少对InnoDB表的锁施加时间(这种模式的机制下文详解)
    -l, --long-query-guard      设定阻塞备份的长查询超时时间,单位是秒,默认是60秒(超时后默认mydumper将会退出)
    --kill-long-queries         杀掉长查询 (不退出)
    -b, --binlogs               导出binlog---已被XX
    -D, --daemon                启用守护进程模式,守护进程模式以某个间隔不间断对数据库进行备份
    -I, --snapshot-interval     dump快照间隔时间,默认60s,需要在daemon模式下
    -L, --logfile               使用的日志文件名(mydumper所产生的日志), 默认使用标准输出
    --tz-utc                    跨时区是使用的选项,不解释了
    --skip-tz-utc               同上
    --use-savepoints            使用savepoints来减少采集metadata所造成的锁时间,需要 SUPER 权限
    --success-on-1146           Not increment error count and Warning instead of Critical in case of table doesn't exist
    -h, --host                  连接的主机名
    -u, --user                  备份所使用的用户
    -p, --password              密码
    -P, --port                  端口
    -S, --socket                使用socket通信时的socket文件
    -t, --threads               开启的备份线程数,默认是4
    -C, --compress-protocol     压缩与mysql通信的数据
    -V, --version               显示版本号
    -v, --verbose               输出信息模式, 0 = silent, 1 = errors, 2 = warnings, 3 = info, 默认为 2

    #mydumper --help
    Usage:
      mydumper [OPTION...] multi-threaded MySQL dumping
     
    Help Options:
      -?, --help                  Show help options
     
    Application Options:
      -B, --database                备份数据库
      -T, --tables-list               备份表列表,多个表以“,”逗号分隔
      -o, --outputdir                指定备份目录
      -s, --statement-size        insert长度,单位是byte, default 1000000,这个参数不能太小,不然会报 Row bigger than statement_size for tools.t_serverinfo
      -r, --rows                      分割表,多少行记录为一个chunk. 默认是off的
      -F, --chunk-filesize         分割表,以多个文件备份,单位是MB
      -c, --compress               压缩备份
      -e, --build-empty-files    如果表没有数据,还是创建这个文件
      -x, --regex                    正则匹配数据库、表,如db.table1
      -i, --ignore-engines       忽略指定引擎的表
      -m, --no-schemas         不备份表结构
      -k, --no-locks               不加临时的share read lock,这个可能会造成数据不一致
      --less-locking                innodb表时,最小时间lock
      -l, --long-query-guard   设置最长查询时间,默认是60s
      -K, --kill-long-queries    将长查询进行杀掉
      -D, --daemon                开启守护进程模式
      -I, --snapshot-interval   快照时间,默认是60s
      -L, --logfile                   日志文件,默认是标准输出
      --tz-utc                        设置时区,只有备份应用到不同时区的时使用,默认是 --skip-tz-utc是关闭的.
      --skip-tz-utc               
      --use-savepoints           Use savepoints to reduce metadata locking issues, needs SUPER privilege
      --success-on-1146        Not increment error count and Warning instead of Critical in case of table doesn't exist
      --lock-all-tables            Use LOCK TABLE for all, instead of FTWRL
      -h, --host                     主机
      -u, --user                     用户
      -p, --password              密码
      -P, --port                      端口
      -S, --socket                  socket文件
      -t, --threads                 并发线程数,默认是4
      -C, --compress-protocol     Use compression on the MySQL connection
      -V, --version                     Show the program version and exit
      -v, --verbose                    Verbosity of output, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2

    三、使用方法

    备份出来的sql文件,文件以数据库开头.表名[-schema].sql,有schema的为表的表结构创建语句,没有的为表数据插入语句。

    [root@mysql.dmc.com bin]$./mydumper --database=tools --outputdir=/root/mydumper-0.6.2/test/ 
    [root@mysql.dmc.com bin]$cd /root/mydumper-0.6.2/test/
    [root@mysql.dmc.com test]$ll -rth 
    total 112K
    -rw-r--r--. 1 root root  972 Jan  2 18:09 tools.django_session.sql
    -rw-r--r--. 1 root root 1.1K Jan  2 18:09 tools.t_guid.sql
    -rw-r--r--. 1 root root  423 Jan  2 18:09 tools.t_ftpserver-schema.sql
    -rw-r--r--. 1 root root  325 Jan  2 18:09 tools.django_session-schema.sql
    -rw-r--r--. 1 root root 1.6K Jan  2 18:09 tools.t_serverinfo-schema.sql
    -rw-r--r--. 1 root root  133 Jan  2 18:09 metadata

    metadata这个文件记录的是当里的binlog文件及pos,可以使用这个信息搭建slave.

    [root@mysql.dmc.com test]$cat metadata 
    Started dump at: 2015-01-02 18:09:40
    SHOW MASTER STATUS:
            Log: mysql-bin.000006
            Pos: 4196075
     
    Finished dump at: 2015-01-02 18:09:40

    只备份t_task和t_guid表

    [root@mysql.dmc.com bin]$./mydumper --database=tools --outputdir=/root/mydumper-0.6.2/test/ --tables-list=t_task,t_guid

    只备份以t_server开通的表

    [root@mysql.dmc.com bin]$./mydumper --database=tools --outputdir=/root/mydumper-0.6.2/test/ --regex="tools.t_server*"

    -B,–database只能指定一个库备份,如果需要同时备份多个数据库,可能这样:

    [root@mysql.dmc.com bin]$./mydumper  --outputdir=/root/mydumper-0.6.2/test/ --regex="beebol.*|tools.*"

    –threads并发度

    [root@mysql.dmc.com bin]$./mydumper  --outputdir=/root/mydumper-0.6.2/test/ --regex="beebol.*|tools.*" --threads=8

    -----------------------------------------------

    myloader参数:

    -d, --directory                   备份文件的文件夹
    -q, --queries-per-transaction     每次事物执行的查询数量,默认是1000
    -o, --overwrite-tables            如果要恢复的表存在,则先drop掉该表,使用该参数,需要备份时候要备份表结构
    -B, --database                    需要还原的数据库
    -e, --enable-binlog               启用还原数据的二进制日志
    -h, --host                        主机
    -u, --user                        还原的用户
    -p, --password                    密码
    -P, --port                        端口
    -S, --socket                      socket文件
    -t, --threads                     还原所使用的线程数,默认是4
    -C, --compress-protocol           压缩协议
    -V, --version                     显示版本
    -v, --verbose                     输出模式, 0 = silent, 1 = errors, 2 = warnings, 3 = info, 默认为2
  • 相关阅读:
    可以自己设计和定的报表工具!
    金山词霸取词冲突
    SSRS 2008 Domain User Issue
    第一次用AX2009正式版!
    顶级会议及期刊
    Python基础常识
    Ubuntu系统下查看安装的CUDA和CUDNN的版本
    js内字符串转数组的基本方法
    JavaScript之逻辑分支
    JS入门
  • 原文地址:https://www.cnblogs.com/wjoyxt/p/4835701.html
Copyright © 2011-2022 走看看