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

本文主要描写叙述myloader的用法并给出演示样例。

有关mydumper的相关參考
        mydumper备份mysql数据库演示样例  
        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

myloader恢复mysql数据库演示样例的更多相关文章

  1. mysql 存储过程 演示样例代码

    drop procedure if exists P_SEQUENCE; /** 暂省略包 @AUTO LIANGRUI 2014/6/27 T_PRO_PRODUCT 表 排序 对整个表进行按序号排 ...

  2. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  3. MySql的事务操作与演示样例

    事务就是一个逻辑工作单元的一系列步骤. 事务是用来保证数据操作的安全性 事务的特征: Atomicity(原子性) Consistency(稳定性,一致性) Isolation(隔离性) Durabi ...

  4. Linux下用OTL操作MySql(包含自己封装的类库及演示样例代码下载)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/ClamReason/article/details/23971805 首先重点推荐介绍otl介绍及使 ...

  5. android listview综合使用演示样例_结合数据库操作和listitem单击长按等事件处理

    本演示样例说明: 1.自己定义listview条目样式,自己定义listview显示列数的多少,灵活与数据库中字段绑定. 2.实现对DB的增删改查,而且操作后listview自己主动刷新. 3.响应用 ...

  6. 10分钟理解Android数据库的创建与使用(附具体解释和演示样例代码)

    1.Android数据库简单介绍. Android系统的framework层集成了Sqlite3数据库.我们知道Sqlite3是一种轻量级的高效存储的数据库. Sqlite数据库具有以下长处: (1) ...

  7. MyBatis对数据库的增删改查操作,简单演示样例

    之前一直有用Hibernate进行开发.近期公司在使用Mybatis.依据网上的演示样例,做了一个简单的Demo,以便日后复习 使用XMl方式映射sql语句 整体结构例如以下图 watermark/2 ...

  8. SQL SEVER 2008中的演示样例数据库

    SQL SEVER 2008数据库是什么我就不说了,我在这里分享一下怎样学习SQL SEVER 2008数据库,假设是对数据库或是SQL SEVER 数据库全然陌生或是不熟悉的人来说,建议看看一些视频 ...

  9. JBoss 系列九十九:Rest WebService jBPM 6 集成演示样例

    概述 jBPM 6 提供 Rest API 供第三方应用整合使用 jBPM 6,本文演示假设通过 Rest API: 启动流程 获取流程实例信息 启动 User Task 完毕 User Task j ...

随机推荐

  1. [Windows Server 2012] 阿里云镜像购买和使用方法

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com ★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将演示:阿里云镜像购买 ...

  2. 按键精灵txt判断

      句子 = "度阿斯达娘阿婶是大的百度知道" 词 = "百度知道" MyPos = Instr(句子, 词) If MyPos > 0 Then Tra ...

  3. 初学者对C++的切身感受

    上周和一同学聊起了当前一些比较流行且运用广范的编程语言,苹果的IOS比起其它语言 来说更加言简意赅,简单明了,并且他现在也打算一直弄IOS.我之前一直是用C语言和 GNU ARM汇编语言,因为这两种语 ...

  4. java将很长的一条sql语句,自动换行输出(修改版)2019-06-01(bug未修复)

    package org.jimmy.autosearch2019.test; import java.util.HashMap; public class AutoLinefeedSql { publ ...

  5. 03HibernateJAVA类与数据库表映射配置

    HibernateJAVA类与数据库表映射配置

  6. pycharm connect to mysql

    1.download mysql installer community 5.7.20 https://dev.mysql.com/downloads/file/?id=473605 or 链接:ht ...

  7. vue 全局组件的注册

    第一步 在main.js里面 引入需要注册的组件例如: //引入组件 import header from  './components/header.vue' import footer from ...

  8. 笔试算法题(02):N阶阶乘 & 双向循环链表实现

    出题:N阶阶乘问题的递归算法和非递归算法: 分析: 第一种解法:普通暴力解法的实现较为容易: 第二种解法:stirling公式可快速给出近似解: 解题: int Recursive(int s) { ...

  9. mysql批量插值

    将查询结果集插入到表中(适用批量插值) 将结果集插入 不需要添加VALUES INSERT INTO `erp`.`role_menu` (`ROLEUUID`, `MENUUUID`) (SELEC ...

  10. [Python3网络爬虫开发实战] 2.4-会话和Cookies

    在浏览网站的过程中,我们经常会遇到需要登录的情况,有些页面只有登录之后才可以访问,而且登录之后可以连续访问很多次网站,但是有时候过一段时间就需要重新登录.还有一些网站,在打开浏览器时就自动登录了,而且 ...