首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

岁末警示:当你手抖删了线上数据库..

已经好多天没有线上报警,群里一片安静,大家都在享受这份宁静与安逸。唯一不一样的是,有集群的迁移工作要做,相关人员干劲十足,已经连续三天通宵。按照惯例,为了保险起见,线上操作都在夜里进行。...如果说这几天最怀念的时光,也许就是这一天了,因为在第二天,我们的一个线上数据库出了问题。 19日上午10点,陆续有用户抱怨,一个接口的数据丢失,而之前删除的数据又出现了。...这时候我们的运维同事贴出一个截图,发现有一个数据同步的进程,从凌晨五点开始运行,把线上数据库覆盖,数据一夜回到了解放前! 好在运气好,在这个覆盖发生之前,有一个备份。

780100

一种线上数据库清理数据的方法

一种线上数据库清理数据的方法 01 场景分析 今天下午,开发的同事提来一个需求,需要在线上要删除一些数据记录,简单看了看数据的分布,大概是要删除数据表中的两千七百多万条记录,数据表的总记录是两千八百多万...,也就是说,要删除的记录占了总记录的绝大部分比重,两千七百多万的数据记录,要是删除的话,使用的时间是相当长的,对线上的业务肯定会造成影响。...tbl_b按照date分组之后,每个组的数据量都不小,而我们的需求是将date为20190118和20190123的记录删除,可以看到这两种记录总计有两千多万条,占了表中数据的绝大部分,如果直接删除的话,线上的业务肯定会受到阻塞...test数据库中的tbl_b数据结构一致: create table test1.tbl_b like test.tbl_b; 3.紧接着,我们使用数据库中的rename操作将表test中的表tbl_b...和test1中的表tbl_b进行交换,等价于将test数据库中的表所有数据清除。

1.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【MySQL】记一次线上重大事故:二狗子竟然把线上数据库删了!!

    让他发个版本,结果,一行命令下去把线上数据库删了!你没听错:是删掉了线上数据库!运营那边顿时炸了锅:怎么回事?系统不能访问了!什么情况啊?!很多客户都在投诉了!!...尽管运营那边慌慌张张的不知所措,但是,我们作为技术人员还是要淡定,不就是删了数据库吗?没事,哥帮你搞定!...事件背景 MySQL数据库每日零点自动全备 某天上午9点,二狗子不小心drop了一个数据库 我们需要通过全备的数据文件,以及增量的binlog文件进行数据恢复 主要思想与原理 利用全备的sql文件中记录的...-uroot -p -B -F -R -x --master-data=2 test|gzip >/server/backup/test_$(date +%F).sql.gz 参数说明: -B 指定数据库...恢复时建议对外停止更新,即禁止更新数据库。 先恢复全量,然后把全备时刻点以后的增量日志,按顺序恢复成SQL文件,然后把文件中有问题的SQL语句删除(也可通过时间和位置点),再恢复到数据库

    78010

    真实线上问题之数据库死锁如何解决?

    数据库死锁是指在多个并发事务中,彼此之间发生相互等待的情况,导致所有事务都无法继续执行的情形。...关于死锁的概念之前有提到过,可参考文章:对线面试官 - MySQL 隔离级别 、锁机制数据库死锁通常由以下原因导致:资源竞争:多个事务试图同时访问相同的资源,如数据库表、行、页或锁,但它们请求资源的顺序不同...这些方法可以有效预防和解决数据库死锁问题,提升系统的并发处理能力和稳定性。MySQL 只操作同一条记录,也会发生死锁吗?答案是肯定会的。因为数据库的锁机制针对的是索引而非记录本身。...在事务中,当我们更新一条记录时,如果使用普通索引作为条件,数据库会先获取普通索引的锁,然后尝试获取主键索引的锁。...在数据库中,如果多个事务并发执行,也可能会发生死锁。例如,当事务 1 持有资源 A 的锁,尝试获取资源 B 的锁,同时事务 2 持有资源 B 的锁,尝试获取资源 A 的锁时,就可能导致死锁的发生。

    18010

    线上问题处理案例——出乎意料的数据库连接池

    Tech 导读 本文是线上问题处理案例分析,旨在通过真实案例向读者介绍发现问题、定位问题、解决问题的方法。...本文讲述了从垃圾回收耗时过长的表象,逐步定位到数据库连接池保活问题的全过程,并对其中用到的一些知识点进行了总结。...图3 堆内存对象分析 4、 数据库连接正常应该不会频繁创建和断开,进入老年代后,正常不应该被回收,通过堆dump内容OQL分析每个数据库连接数量,发现很多库连接数都大于“maxActive”数量,可以肯定有很多失效连接...5、 初步判断直接原因是很多失效数据库连接进入老年代,导致FullGC耗时过长。...本文对数据库连接失效引起的GC问题进行了详细分析,希望读者通过本文对数据库连接“保活”机制、GC问题基本分析方法有所收益,后续该系列文章会继续推出其他案例分享。

    21720

    Debug线上服务

    日志在线上服务中,通过日志进行调试是一种常见的方法。...以下是一些常用的方法,可以让我们通过日志来进行线上服务的调试:设置详细的日志级别:在开发和测试环境中,我们可能会使用较低的日志级别,例如 debug 或 trace,以记录详细的调试信息。...实时日志查看:在线上环境中实现实时日志查看功能,以便能够及时地查看日志输出。使用工具如 ELK Stack(Elasticsearch, Logstash, Kibana)进行实时日志分析。...通过以上策略,我们可以更有效地使用日志来进行线上服务的调试和监控。请注意,在生产环境中,要小心处理敏感信息,确保日志中不包含敏感数据。...在线上服务中访问 pprof 数据:在浏览器中访问 http://your-service-address:6060/debug/pprof/ 来查看 pprof 提供的数据。

    25910

    一次线上数据库添加字段造成磁盘不够的问题

    背景 公司使用的是MySQL数据库,随着业务和用户的增加有张表的数据达到了150000000(1亿5千万)条左右,其中好几个功能都会对这张表进行增删改操作。在并发量比较大的时候,经常会出现死锁问题。...经过分析之后,由于离业务繁忙期还有几天,并且1月是系统达到最大并发的时期,所以决定暂时先采取比较稳妥的版本号方案,即只往数据库insert和update数据,定时任务删除旧的数据(之后会采取数据分表分区的方案...经测试人员测试没问题后,准备发到线上。...到1点多的时候,运维说数据库所在的服务器硬盘满了,导致刷入失败。里面有人开始议论说,不就是刷入字段吗,怎么会造成磁盘满呢?运维当时立马通过阿里云德后台把数据库的服务器磁盘增大。

    1.1K30

    线下门店+线上商城,为什么要做线上商城

    线下门店+线上商城,为什么要做线上商城 商家是否要发展线上运营,并不是一个需要讨论的问题,而是大势所趋。...因为线上商城会为商家提供一系列的引流活动和营销方案,商家就会发现获取用户并不难,很快就能实现线上线下的融合。那么除此之外,线上商城还有什么优势呢?...而选择线上商城的话,成本就会低很多,相比于传统的开店模式,可以为你省去大量资金。...3、 提高销售收益 线上商城的模式渐渐改变了传统销售模式,直接减少了中间的流通环节,让产品直销给消费者成为可能,明显地提高了产品销售的效率。...如果你也想开拓线上市场,那么这其实是一个比较简单的获客方法。

    97320
    领券