博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
myloader恢复mysql数据库示例
阅读量:6375 次
发布时间:2019-06-23

本文共 2809 字,大约阅读时间需要 9 分钟。



    mydumper是针对mysql数据库备份的一个轻量级第三方的开源工具,备份方式为逻辑备份。它支持多线程,备份速度远高于原生态的mysqldump以及众多优异特性。与其相配套的恢复工具则是myloader,主要用于将dump出来的sql以并行的方式进行恢复。本文主要描述myloader的使用方法并给出示例。

    有关mydumper的相关参考

          
          
 
1、单库的备份与恢复
[root@app ~]# mydumper -u leshami -p xxx -B sakila -o /tmp/bak
[root@app ~]# mysql -urobin -pxxx   -e "show databases"|grep restoredb
[root@app ~]# mysql -urobin -pxxx   \
>  -e "create table sakila.tb like sakila.actor;             ###创建测试表
>      insert into sakila.tb select * from sakila.actor"

###将备份库恢复到一个新数据库,如restoredb

[root@app ~]# myloader  -u leshami -p xxx  -B restoredb -d /tmp/bak
[root@app ~]# mysql -urobin -pxxx   -e "show databases"|grep restoredb
restoredb

###恢复到原库

[root@app ~]# myloader  -u leshami -p xxx   -B sakila -d /tmp/bak
** (myloader:3642): CRITICAL **: Error restoring sakila.category from file sakila.category-schema.sql: Table 'category' already exists

---增加-o参数进行覆盖恢复

[root@app ~]# myloader  -u leshami -p xxx   -o -B sakila -d /tmp/bak

2、单表恢复

[root@app ~]# mysql -urobin -pxxx   -e "drop table sakila.tb"
[root@app ~]# mysql -urobin -pxxx   -e "select count(*) from sakila.tb"
Warning: Using a password on the command line interface can be insecure.
ERROR 1146 (42S02) at line 1: Table 'sakila.tb' doesn't exist

###直接调用备份的schema以及数据文件执行即可

[root@app ~]# mysql -urobin -pxxx   \
>  -e "use sakila;
>      source /tmp/bak/sakila.tb-schema.sql
>      source /tmp/bak/sakila.tb.sql"

###验证结果

[root@app ~]# mysql -urobin -pxxx   -e "select count(*) from sakila.tb"
Warning: Using a password on the command line interface can be insecure.
+----------+
| count(*) |
+----------+
|      200 |
+----------+

3、实例级别的备份与恢复

[root@app ~]# rm -rf /tmp/bak/*
[root@app ~]# mydumper -u leshami -p xxx   --regex '^(?!(mysql|test))' -o /tmp/bak

###尝试删除部分数据库

[root@app ~]# mysql -urobin -pxxx   \
>  -e "drop database tempdb;drop database sakila"

###基于全部备份文件进行恢复

[root@app ~]# myloader  -u leshami -p xxx   -o -d /tmp/bak

4、获取帮助

[root@app ~]# myloader --help
Usage:
  myloader [OPTION...] multi-threaded MySQL loader

Help Options:

  -?, --help                        Show help options

Application Options:

  -d, --directory                   Directory of the dump to import
  -q, --queries-per-transaction     Number of queries per transaction, default 1000
                   还原期间每个事务insert的数目,缺省是1k
  -o, --overwrite-tables            Drop tables if they already exist(表存在即覆盖)
  -B, --database                    An alternative database to restore into
  -e, --enable-binlog               Enable binary logging of the restore data
  -h, --host                        The host to connect to
  -u, --user                        Username with privileges to run the dump
  -p, --password                    User password
  -P, --port                        TCP/IP port to connect to
  -S, --socket                      UNIX domain socket file to use for connection
  -t, --threads                     Number of threads to use, default 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

转载地址:http://xenqa.baihongyu.com/

你可能感兴趣的文章
Android UI 测试指南之 Espresso
查看>>
第8天,面向对象进阶
查看>>
SpringCloud Finchley 实战入门(基于springBoot 2.0.3)【八 config 微服务配置中心】
查看>>
17.移动架构手写数据库增删改查框架
查看>>
安装ansible-2.5.0
查看>>
内核模块遍历进程和任务队列保存到proc文件中
查看>>
爬取高德地图poi数据
查看>>
从多核硬件架构,看Java内存模型
查看>>
第5章—构建Spring Web应用程序—关于spring中的validate注解后台校验的解析
查看>>
fastJson顺序遍历JSON字段
查看>>
ES6 + Angular 1.x
查看>>
XtraBackup不停机不锁表搭建MySQL主从同步实践
查看>>
Linux Dailly
查看>>
Docker学习之路(一)
查看>>
Java工程师知识图谱
查看>>
[Spring实战系列](2)Maven创建Spring-HelloWorld项目
查看>>
CentOS安装运行NodeJS框架Express
查看>>
白话版 动态规划法
查看>>
(十六) 整合spring cloud云架构 -使用spring cloud Bus刷新配置
查看>>
全面总结国内BATH等大厂开源的安卓有关的库(持续更新中...)
查看>>