myloader恢复mysql数据库示例



    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

时间: 2024-11-02 08:08:54

myloader恢复mysql数据库示例的相关文章

Linux上通过binlog文件恢复mysql数据库详细步骤_Mysql

 一.binlog 介绍 服务器的二进制日志记录着该数据库的所有增删改的操作日志(前提是要在自己的服务器上开启binlog),还包括了这些操作的执行时间.为了显示这些二进制内容,我们可以使用mysqlbinlog命令来查看. 用途1:主从同步 用途2:恢复数据库(也是线上出现一次数据库文件丢失后,才对这个有所了解并学习的) mysqlbinlog命令用法:shell> mysqlbinlog [options] log_file ... <!--[if !supportLists]-->

通过binlog恢复mysql数据库

在上一篇文章,我们讲解了有关mysql的binlog日志的基础知识.这篇文章,我们来讲解如何通过mysql的binlog日志来恢复数据库. 在使用binlog日志来恢复数据库之前,我们有一些前提工作需要做.步骤如下: 1.创建新的数据库ailanni 2.创建新的表ilannitable 3.向表ilannitable插入数据 4.刷新mysqlbin日志 5.完整备份ailanni数据库 6.删除表ilannitable插入的部分数据 7.删除数据库ailanni 8.各个binlog日志的内

mysql mysql权限-如何恢复mysql数据库的root账户权限

问题描述 如何恢复mysql数据库的root账户权限 本人小白,在服务器装了mysql之后,在phpmyadmin里自作聪明创建了一个新的账号(newroot),然后给了所有权限(除了Grant),然后就把root账号的权限都取消了..现在发现这个新的账号,不能给新建账号分配数据库权限,很坑爹呀.. 求前辈们指点,如何恢复root权限

自动恢复MySQL数据库的日志文件思路分享及解决方案_Mysql

如果MySQL服务器启用了二进制日志,你可以使用mysqlbinlog工具来恢复从指定的时间点开始 (例如,从你最后一次备份)直到现在或另一个指定的时间点的数据."mysqlbinlog:用于处理二进制日志文件的实用工具". 要想从二进制日志恢复数据,你需要知道当前二进制日志文件的路径和文件名.一般可以从选项文件(即my.cnf or my.ini,取决于你的系统)中找到路径.如果未包含在选项文件中,当服务器启动时,可以在命令行中以选项的形式给出.启用二进制日志的选项为 --log-b

恢复MySQL数据库的日志文件

恢复MySQL数据库教程的日志文件 如果MySQL服务器启用了二进制日志,你可以使用mysql教程binlog工具来恢复从指定的时间点开始 (例如,从你最后一次备份)直到现在或另一个指定的时间点的数据."mysqlbinlog:用于处理二进制日志文件的实用工具". 要想从二进制日志恢复数据,你需要知道当前二进制日志文件的路径和文件名.一般可以从选项文件(即my.cnf or my.ini,取决于你的系统)中找到路径.如果未包含在选项文件中,当服务器启动时,可以在命令行中以选项的形式给出

使用mysql workbench图形化备份恢复mysql数据库

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 本文简要介绍一个简单好用的图形界面备份恢复mysql数据库的方法,使用workbench图形界面进行mysql数据库恢复备份.对那些不喜欢使用命令行的朋友相信有帮助. workbench是mysqlAB公司出的一款可视化操作mysql的工具,对于习惯使用windows图形化界面操控的用户来说,这是一个非常好的工具.当然还有一款大家很熟悉的基于

mydumper备份mysql数据库示例

    mydumper是针对mysql数据库备份的一个轻量级第三方的开源工具,备份方式为逻辑备份.它支持多线程,备份速度远高于原生态的mysqldump以及众多优异特性.因此该工具是DBA们的不二选择.本文主要描述该工具的使用方法并给出示例.     有关mydumper安装参考:mydumper安装及安装故障汇总 1.mydumper的特点a.多线程逻辑备份,生产的多个备份文件b.与mysqldump相同,备份时对 MyISAM 表施加FTWRL (FLUSH TABLES WITH REA

如何用PHP的页面备份、恢复Mysql数据库中的数据表

mysql|备份|恢复|数据|数据库|页面 <?           //备份数据       $i   =   0;       $crlf="\r\n";       $dbname="xgtqr";       global     $dbconn;       $dbconn   =   mysql_connect("localhost","root","root");       $db  

妙用phpMyBackupPro备份恢复Mysql数据库

phpMyBackupPro 是一个一个专业的MySql备份工具.可以备份多服务器.多数据库,可以将数据备份 到ftp或email,可以自动备份.可以设置备份的计划任务,可以还原数据库.在线执行SQL语句, 生成 UTF-8格式的文档. phpMyBackupPro简介 主要特点: 1.可以选择备份一个或几个数据库,并可以选择是只备份表格结构还是包含数据. 2.支持三种压缩类型(不压缩,gzip和zip). 3.按计划自动备份. 4.提供一个备份管理界面(查看,恢复,下载,删除). 5.可直接备