从mysqldump整库备份文件中恢复单表
最近,系统更新出现了问题,比较紧急,需要对三张表进行回档。由于我们都是采用mysqldump进行每天全备整库,数据量比较大,一个备份文件大概有70G,需要从这个70G文件中恢复三张表,真是蛋疼至极啊,搞了整整一个下午,下面就介绍下具体操作。
1、采用grep查找:由于mysqldump文件导出的是insert into ...values(),(),()...这种形式,其实多行都是属于一行文本的。
cat fullbk20151108031001 | grep --ignore-case 'insert into `t_user`' > user.sql
结果:15G大小的文件大概2小时之类能够搞定,但是对于70G的文件,迟迟没有结果,干着急啊,于是乎,就想换个命令吧。希望能快点
2、采用sed命令:
sed -n '/INSERT INTO `t_user_pve_ranking`/p' fullbk20151108031001
又等了好久,还是没有出结果啊,坐不住了,开发开始深深的鄙视我们了,最后,死马当活马医吧,把这个70G大文件切分成多个小文件,然后在小文件中进行sed:
3、采用split切分大文件方法:
split [参数选项] infile [outfile]
split 把输入的文件拆分为若干体积或长度相等的文件,输入文件保持不变,只是把结果拆分结果写到outfileaa、outfileab ... ... 等文件中。如果我们不指定outfile,被拆分后的文件会写到 xaa、xab ... ...。
常用参数:
-l n 把infile拆分为具有n行的段,默认值为1000
-b n[bkm]
以体积为单位的拆分,约定每拆分后每个文件的大小 ,b代表512B,k代表1KB,m代表1MB。
把bytes的最大值放入文件,坚持增加完整的行;
#按1000行一个文件进行切分,最好在后台运行
split -l fullbk20151108031001 &
然后在通过sed命令进行一个一个文件查找:
sed -n '/INSERT INTO `t_user_pve_ranking`/p' aaa
sed -n '/INSERT INTO `t_user_pve_ranking`/p' bbb
........
这样,每个小文件查找很快,这里可以写个shell脚本,循环遍历的。
最后通过这种方法找到了表。简直就是坑爹啊,我不知道还有其他更好的方式了,反正mysqldump备份大库恢复指定表很慢很慢的,强烈建议使用innobackupex,我测试了也就半个小时就可以搞定了。
从mysqldump整库备份文件中恢复单表的更多相关文章
- 从MySQL全库备份中恢复某个库和某张表【转】
从MySQL全库备份中恢复某个库和某张表 一.全库备份-A [root@mha2 backup]#mysqldump -uroot -p123456 --default-character-set=u ...
- 快速从mysqldump文件中恢复一个表
快速从较大的mysqldump文件中恢复一个表到数据库中: 1.先获取目标表(md_gas_check_record)在文件中的位置 [publish@LF-PRO-DB-01 ~]$ cat dby ...
- 从xtrabackup备份恢复单表
目前对MySQL比较流行的备份方式有两种,一种上是使用自带的mysqldump,另一种是xtrabackup,对于数据时大的环境,普遍使用了xtrabackup+binlog进行全量或者增量备份,那么 ...
- 从xtrabackup备份恢复单表【转】
目前对MySQL比较流行的备份方式有两种,一种上是使用自带的mysqldump,另一种是xtrabackup,对于数据时大的环境,普遍使用了xtrabackup+binlog进行全量或者增量备份,那么 ...
- Oracle 备份、恢复单表或多表数据步骤
Oracle 备份.恢复单表或多表数据步骤,适用于 Oracle 8.9.10. *备份单表或多表数据: exp user/password@server file=filefullpa ...
- MSSQL·备份数据库中的单表
阅文时长 | 0.11分钟 字数统计 | 237.6字符 主要内容 | 1.引言&背景 2.声明与参考资料 『MSSQL·备份数据库中的单表』 编写人 | SCscHero 编写时间 | 20 ...
- 从MySQL全库备份中恢复某个库和某张表
在Mysqldump官方工具中,如何只恢复某个库呢? 全库备份 [root@HE1 ~]# mysqldump -uroot -p --single-transaction -A --master-d ...
- MYSQL数据库根据data文件中的.frm和ibd文件恢复单表数据
数据库误操作,把表的字段删除了,关键是被删除的字段的数据很重要,现在想要恢复数据,下面说说是怎么操作的. 数据库只剩.frm和.ibd文件了,按照网上的做法分如下两步来进行:一.找回表结构,二.找回数 ...
- 从mysql全库备份中恢复指定库和指定表
需求:开发要求导入某天某个表的数据,而我们的数据是全库备份 例如: 从newbei_2017-08-31_402793782.tar.bz2中恢复表:bei_table 的数据 一.备份策略 备份全 ...
随机推荐
- 安装IntelliJ IDEA默认C盘文件过大怎么办
方法如下: 找到安装路径下有个属性文件,我的是在 D:\Program Files\JetBrains\IntelliJ IDEA 2017.3.2\bin 进入bin目录后找到属性文件:idea.p ...
- 腾讯云DevOps 解决方案
地址:https://www.qcloud.com/solution/devops 主要经历的几个阶段: 代码托管 持续集成与交互 测试管理 运维监控 项目管理 在上面图中都有,可以回过去查看.
- windows小游戏之扫雷技巧
通过单击即可挖开方块.如果挖开的是地雷,则您输掉游戏. 如果方块上出现数字,则表示在其周围的八个方块中共有多少颗地雷.
- MQTT--linux安装部署(CentOS)
OS环境:CentOS6.5 1.安装依赖 yum -y install gcc gcc-c++ openssl-devel c-ares-devel libuuid-devel wget cmake ...
- hdu 4112 Break the Chocolate(乱搞题)
题意:要把一块n*m*k的巧克力分成1*1*1的单元,有两种操作方式:1,用手掰(假设力量无穷大),每次拿起一块,掰成两块小的:2,用刀切(假设刀无限长),可以把多块摆在一起,同时切开.问两种方式各需 ...
- Sphinx之配置文件
# # Sphinx configuration file sample # # WARNING! While this sample file mentions all available opti ...
- python 的三元表达式
python中的三目运算符不像其他语言 其他的一般都是 判定条件?为真时的结果:为假时的结果 如 result=5>3?1:0 这个输出1,但没有什么意义,仅仅是一个例子. 而在python中的 ...
- 在jfinal的Controller中接受json数据
JFinal中接收URL中的参数或者model中的参数是很方便的,但是对于web2.0的网站来说,经常会以json方式提交比较复杂的数据,比如一个查询,包含了各种过滤条件和排序分页,前端脚本可能提交的 ...
- 用Python抓取漫画并制作mobi格式电子书
想看某一部漫画,但是用手机看感觉屏幕太小,用电脑看吧有太不方面.正好有一部Kindle,决定写一个爬虫把漫画爬取下来,然后制作成 mobi 格式的电子书放到kindle里面看. 一.编写爬虫程序 用C ...
- C++11 并发指南三(Lock 详解)(转载)
multithreading 多线程 C++11 C++11多线程基本使用 C++11 并发指南三(Lock 详解) 在 <C++11 并发指南三(std::mutex 详解)>一文中我们 ...