从整库逻辑备份单独抽出一张表

本文介绍了一种针对MySQL数据库中单表数据误删或误修改情况下的快速恢复方法。通过利用备份文件,精确地定位到需要恢复的表,并将其导出为单独的SQL文件,进而实现高效的数据恢复。此方法特别适用于表数据庞大且库内表数量众多的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:有时候因应用端有高权限的人员误操作,影响到的表只有一张,那么我们只要在前一天的备份里面一张表的数据,如果一个库表很多很大,异地恢复整个库,撇开机器性能不说,时间就浪费了。接下来说一下怎么抽取单张表内容。
 
原理:简单的说指定库名导出,mysqldump是按show tables顺序导出,你要抽取哪个表,就是要知道你下一个表名,把这段内容全部抽取出来就对了
1.确认你要导出的表名并查找出下一个表的表名字 cat xxxx.sql | grep "^-- Table structure for table" | grep -A 1 "aaa_opp" 
 
[root@web10 247_2015-09-03]# cat xxxx.sql | grep "^-- Table structure for table" | grep -A 1 "aaa_opp"
-- Table structure for table `aaa_opp`
-- Table structure for table `aaa_opp_copy`
-- Table structure for table `aaa_opp_update_history`
-- Table structure for table `aaa_org_region`
2.将你要抽出的表(aaa_ppp),(aaa_opp_copy)之间内容打印出来 sed -n "/^-- Table structure for table \`aaa_opp\`/,/^-- Table structure for table \`aaa_opp_copy\`/p"  xxxx.sql > temp.sql
3.然后在一个测试机导入,跟业务,研发人员处理并确认无误后,再导入生产库

转载于:https://www.cnblogs.com/LMySQL/p/4801107.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值