将MYSQLDUMP全库备份分为单库文件的方法(自己写的小工具)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 有时候我们备份是做的全库的备份,但是在恢复的时候却需要单库的文件,如果需要的库很小,我们把全库备份恢复回去然后导出想要的库的文件势必非常慢和耗时,这个时候如果 能够拆分文件为单库就好了,所以做了如下一个工具 工具叫做mysplit 可以查看备份出来每个库的大小和分割文件。

有时候我们备份是做的全库的备份,但是在恢复的时候却需要单库的文件,如果需要的库很小,我们把全库备份恢复回去然后导出想要的库的文件势必非常慢和耗时,这个时候如果
能够拆分文件为单库就好了,所以做了如下一个工具
工具叫做mysplit 可以查看备份出来每个库的大小和分割文件。

下载百度云盘:
http://pan.baidu.com/s/1mhfl6R2
下载后传入到LINUX系统
chmod 755 mysplit1.2
就可以用了


帮助如下:
/*****************************************************
Copyright by GaoPeng .All rights reserved.Version 1.2 
This tool is uesd to split more than one database dump
 to split to single database file and show every datab
ase dump size.                                        
USEAGE:./mysplit -show/-split dumpfilename [charset]  
-show to show every database dump size                
-split TO split every database to single file         
[charset] is optional default /*SET NAMES UTF8*/      
Editer's qq:22389860,bugs report!                     
*****************************************************/

使用实例分割库:
[root@hadoop1 ~]# mysplit1.2 -split log.log utf8
/*****************************************************
Copyright by GaoPeng .All rights reserved.Version 1.2 
This tool is uesd to split more than one database dump
 to split to single database file and show every datab
ase dump size.                                        
USEAGE:./mysplit -show/-split dumpfilename [charset]  
-show to show every database dump size                
-split TO split every database to single file         
[charset] is optional default /*SET NAMES UTF8*/      
Editer's qq:22389860,bugs report!                     
*****************************************************/
NOTE:if use -show Enter y,follow hint is affect only -split
Will use charset utf8,please check !             
Best way to find set names use Linux command:  
head -n 10 dumpfilename                        
[y/n] y:use default charset utf8/n:exit mysplit  
y
/*!40101 SET NAMES utf8 */;

number     1,begin                            778,end                            908,database --g1'size= 0.126953(KB)
new file is create  of  databse g1 
number     2,begin                            909,end                           1045,database --kkmm'size= 0.132812(KB)
new file is create  of  databse kkmm 
number     3,begin                           1046,end                         627860,database --mysql'size= 612.123047(KB)
new file is create  of  databse mysql 
number     4,begin                         627861,end                         628477,database --nvc'size= 0.601562(KB)
new file is create  of  databse nvc 
number     5,begin                         628478,end                      251621886,database --test'size= 245110.750000(KB)
new file is create  of  databse test 
number     6,begin                      251621887,end                      251622887,database --test1'size= 0.976562(KB)
new file is create  of  databse test1 
number     7,begin                      251622888,end                      262508330,database --test100'size= 10630.314453(KB)
new file is create  of  databse test100 
number     8,begin                      262508331,end                      262992362,database --test2'size= 472.686523(KB)
new file is create  of  databse test2 
number     9,begin                      262992363,end                      262992505,database --testl2'size= 0.138672(KB)
new file is create  of  databse testl2 
number    10,begin                      262992506,end                      262992549,database --g1'size= 0.041992(KB)
file is exist append to databse g1 
number    11,begin                      262992550,end                      262992597,database --kkmm'size= 0.045898(KB)
file is exist append to databse kkmm 
number    12,begin                      262992598,end                      262992647,database --mysql'size= 0.047852(KB)
file is exist append to databse mysql 
number    13,begin                      262992648,end                      262992693,database --nvc'size= 0.043945(KB)
file is exist append to databse nvc 
number    14,begin                      262992694,end                      262993646,database --test'size= 0.929688(KB)
file is exist append to databse test 
number    15,begin                      262993647,end                      262994567,database --test1'size= 0.898438(KB)
file is exist append to databse test1 
number    16,begin                      262994568,end                      262995526,database --test100'size= 0.935547(KB)
file is exist append to databse test100 
number    17,begin                      262995527,end                      262995576,database --test2'size= 0.047852(KB)
file is exist append to databse test2 
number    18,begin                      262995577,end                      262996054,database --testl2'size= 0.465820(KB)
file is exist append to databse testl2 
UESD TIME TOTAL:
35.000000 seconds used



查看每个库备份出来的大小:

[root@hadoop1 ~]# mysplit1.2 -show log.log utf8
/*****************************************************
Copyright by GaoPeng .All rights reserved.Version 1.2 
This tool is uesd to split more than one database dump
 to split to single database file and show every datab
ase dump size.                                        
USEAGE:./mysplit -show/-split dumpfilename [charset]  
-show to show every database dump size                
-split TO split every database to single file         
[charset] is optional default /*SET NAMES UTF8*/      
Editer's qq:22389860,bugs report!                     
*****************************************************/
NOTE:if use -show Enter y,follow hint is affect only -split
Will use charset utf8,please check !             
Best way to find set names use Linux command:  
head -n 10 dumpfilename                        
[y/n] y:use default charset utf8/n:exit mysplit  
y
/*!40101 SET NAMES utf8 */;


number          1,begin                            778,end                            908,database --g1'size= 0.126953(KB)
number          2,begin                            909,end                           1045,database --kkmm'size= 0.132812(KB)
number          3,begin                           1046,end                         627860,database --mysql'size= 612.123047(KB)
number          4,begin                         627861,end                         628477,database --nvc'size= 0.601562(KB)
number          5,begin                         628478,end                      251621886,database --test'size= 245110.750000(KB)
number          6,begin                      251621887,end                      251622887,database --test1'size= 0.976562(KB)
number          7,begin                      251622888,end                      262508330,database --test100'size= 10630.314453(KB)
number          8,begin                      262508331,end                      262992362,database --test2'size= 472.686523(KB)
number          9,begin                      262992363,end                      262992505,database --testl2'size= 0.138672(KB)
number         10,begin                      262992506,end                      262992549,database --g1'size= 0.041992(KB)
number         11,begin                      262992550,end                      262992597,database --kkmm'size= 0.045898(KB)
number         12,begin                      262992598,end                      262992647,database --mysql'size= 0.047852(KB)
number         13,begin                      262992648,end                      262992693,database --nvc'size= 0.043945(KB)
number         14,begin                      262992694,end                      262993646,database --test'size= 0.929688(KB)
number         15,begin                      262993647,end                      262994567,database --test1'size= 0.898438(KB)
number         16,begin                      262994568,end                      262995526,database --test100'size= 0.935547(KB)
number         17,begin                      262995527,end                      262995576,database --test2'size= 0.047852(KB)
number         18,begin                      262995577,end                      262996054,database --testl2'size= 0.465820(KB)
UESD TIME TOTAL:
11.000000 seconds used

如此我们可以使用分割的文件进行导入!


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
关系型数据库 数据库
Mairadb数据库的备份和恢复
Mairadb数据库的备份和恢复
215 1
|
关系型数据库 MySQL Shell
mysqldump工具备份数据
mysqldump工具备份数据
mysqldump工具备份数据
|
数据安全/隐私保护
Mysqldump备份报错1449
Mysqldump备份报错1449
|
SQL 关系型数据库 MySQL
mydumper备份数据库详解(已详细说明)
<p></p> <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; color:rgb(85,85,85); font-family:'microsoft yahei'; font-size:15px; line-height:35px"> <span style="font
15522 0
|
关系型数据库 Shell 数据库