myloader恢复mysql数据库示例

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:     mydumper是针对mysql数据库备份的一个轻量级第三方的开源工具,备份方式为逻辑备份。它支持多线程,备份速度远高于原生态的mysqldump以及众多优异特性。


    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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
12月前
|
SQL 存储 关系型数据库
MySQL的基本操作及实用示例(面试真题老实用了)
在MySQL中,行转列是指将数据表的行转换为列,以实现数据在视图中的重组和重塑。通常,行转列用于将多行数据合并为一行,并将多个列值作为新的列。行转列可以使用多种方法实现,包括使用聚合函数、条件筛选和透视(PIVOT)表等。以下是一些常见的行转列方法:1.使用聚合函数可以使用聚合函数如等对数据进行聚合,并使用CASE语句根据条件选择和返回不同的列值。以将不同的行值转换为列值。2.使用条件筛选可以使用条件判断语句,如IF语句或CASE语句。
|
3月前
|
SQL 关系型数据库 MySQL
MySQL数据库子查询——in多个数据查询的示例
MySQL数据库子查询——in多个数据查询的示例
27 1
|
10天前
|
关系型数据库 数据库 网络虚拟化
Docker环境下重启PostgreSQL数据库服务的全面指南与代码示例
由于时间和空间限制,我将在后续的回答中分别涉及到“Python中采用lasso、SCAD、LARS技术分析棒球运动员薪资的案例集锦”以及“Docker环境下重启PostgreSQL数据库服务的全面指南与代码示例”。如果你有任何一个问题的优先顺序或需要立即回答的,请告知。
19 0
|
1月前
|
关系型数据库 MySQL OLTP
性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
【8月更文挑战第6天】使用 pt-query-digest 工具分析 MySQL 慢日志性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
155 0
性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
|
3月前
|
关系型数据库 MySQL 数据库
DELETE、TRUNCATE 和 DROP 在MySQL中的区别及使用示例
DELETE、TRUNCATE 和 DROP 在MySQL中的区别及使用示例
|
3月前
|
SQL 存储 关系型数据库
AI代码提示工具可用于教学功能示例——MySQL
AI代码提示工具可用于教学功能示例——MySQL
54 0
|
3月前
|
存储 SQL 关系型数据库
MySQL存储过程——if判断示例
MySQL存储过程——if判断示例
51 0
|
3月前
|
SQL 存储 关系型数据库
MySQL 示例数据库大全
我们练习 SQL 时,总会自己创造一些测试数据或者网上找些案例来学习,其实 MySQL 官方提供了好几个示例数据库,在 MySQL 的学习、开发和实践中具有非常重要的作用,能够帮助初学者更好地理解和应用 MySQL 的各种功能和特性,特别是练习 SQL 的好帮手。
280 0
|
3月前
|
存储 SQL 关系型数据库
MySQL数据库——存储过程-介绍以及基本语法(特点、创建、调用、查看、删除、示例)
MySQL数据库——存储过程-介绍以及基本语法(特点、创建、调用、查看、删除、示例)
56 0
|
3月前
|
SQL 关系型数据库 MySQL
MySQL数据库——视图-介绍及基本语法(创建、查询、修改、删除、演示示例)
MySQL数据库——视图-介绍及基本语法(创建、查询、修改、删除、演示示例)
66 0