美文网首页
mydumper备份数据库

mydumper备份数据库

作者: xstalk | 来源:发表于2017-06-19 16:26 被阅读0次

    一、备份

    1.全库备份

    /usr/local/bin/mydumper -h ${sql_ip}  --user ${user} --password ${passwd} -o ${bakdir} -c -e -t 16
    

    2.单库备份

    mydumper -h ${sql_ip}  --user ${user} -p ${passwd} -o ${bakdir} -B ${database} -c -e -t 16
    

    3.表备份

    mydumper -u ${user} -p ${passwd} -o ${bakdir} -B ${database} -T ${table1},${table2} -c -e -t 16
    

    二、恢复

    恢复库

    myloader -u root -p 123456 -h IP  -S /data/mysql/mysql_3307/mysql_3307.sock -B 数据库名称 -o -d 数据库备份路径 -t 16
    

    单表恢复

    单表恢复需要解压备份文件为sql格式,用source 方法恢复,并且恢复前需要删除表

    #恢复表结构
    source table-schema.sql
    #恢复数据
    source tables.sql
    

    三、参数

    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
    
    -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, --pass                  密码
    
    -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
    
    

    myloader 参数:

    -d, --directory                   备份文件的文件夹
    
    -q, --queries-per-transaction     每次事物执行的查询数量,默认是1000
    
    -o, --overwrite-tables            如果要恢复的表存在,则先drop掉该表,使用该参数,需要备份时候要备份表结构
    
    -B, --database                    需要还原的数据库
    
    -e, --enable-binlog               启用还原数据的二进制日志
    
    -h, --host                        主机
    
    -u, --user                        还原的用户
    
    -p, --pass                        密码
    
    -P, --port                        端口
    
    -S, --socket                      socket文件
    
    -t, --threads                     还原所使用的线程数,默认是4
    
    -C, --compress-protocol           压缩协议
    
    -V, --version                     显示版本
    
    -v, --verbose                     输出模式, 0 = silent, 1 = errors, 2 = warnings,3 = info, 默认为2
    
    

    四、安装

    wget [https://launchpad.net/mydumper/0.9/0.9.1/+download/mydumper-0.9.1.tar.gz](https://launchpad.net/mydumper/0.9/0.9.1/+download/mydumper-0.9.1.tar.gz)
    tar xf mydumper-0.9.1.tar.gz
    cd mydumper-0.9.1
    

    相关文章

      网友评论

          本文标题:mydumper备份数据库

          本文链接:https://www.haomeiwen.com/subject/qgzgqxtx.html