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

库后,除了跑路还能怎么办

我听说过挺多库的事件,于是开玩笑的略改一下:“日后你删了库后,不要把师傅说出来就行了”,不知道那些库的工程师们,其师傅有没有交代过这句话,emmm。。。...孙悟空哪能受得了这个,拿起生死簿自己的名字就划了,不仅如此,他也不能让自己的猴子猴孙也经历生老病死,便顺手把生死簿中所有的猴子都给划掉了。...投标应标咱不管了,可是删除了数据库怎么办? 等传票?拿护照?跑路去?nonono !以 MySQL 为例,这里对库语句做下分类: 1....使用 rm -rf 命令误删整个 MySQL 实例,只要还有备份节点就可以找回。...操作需谨慎,库别跑路! 热门内容: 1、我特么富得给老铁发键鼠套装了! 2、mybatis-plus支持分布式事务了? 3、记住:永远不要在MySQL中使用UTF-8 4、终结HashMap面试?

68710

库后,除了跑路还能怎么办

我听说过挺多库的事件,于是开玩笑的略改一下:“日后你删了库后,不要把师傅说出来就行了”,不知道那些库的工程师们,其师傅有没有交代过这句话,emmm。。。...话说日后,孙悟空真的过一个数据库里的记录,这就是:生死薄。...孙悟空哪能受得了这个,拿起生死簿自己的名字就划了,不仅如此,他也不能让自己的猴子猴孙也经历生老病死,便顺手把生死簿中所有的猴子都给划掉了。...投标应标咱不管了,可是删除了数据库怎么办? 等传票?拿护照?跑路去?nonono !以 MySQL 为例,这里对库语句做下分类: 1....使用 rm -rf 命令误删整个 MySQL 实例,只要还有备份节点就可以找回。

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

    MySQL user表被删除了怎么办

    表的内容 */mysql> select user,host from mysql.user;+---------------+--------------+| user | host...则可以通过恢复备份并追加binlog的方式恢复数据(后续其他文章再专题介绍),本文基于无全备,仅有最近的日志情况下恢复(主要是为了使用binlog2sql工具) 1.2.1 先恢复root账号 因为删除后,其他用户无法重新连接数据库了.../bin/mysqldump -uroot -p'123456' -t --socket=/data/mysql3307/tmp/mysql.sock mysql user --where " 1=1...| localhost |+------+-----------+1 row in set (0.00 sec) 注:如果清空数据或后续说的删除了user表后没有退出当前会话,就无需之前的修改参数及重启数据库了...-04-16 06:40:00' >mysql.sql 将数据导入mysql.user表即可。

    4.6K20

    MySQL中drop和delete用户场景

    关于用户创建的文章,之前写过几篇《MySQL创建用户提示1396》《小白学习MySQL - 不同版本创建用户的些许区别》。 碰巧看到技术社群的这篇文章《同样是用户,为啥还有差别?》...在MySQL当中,对于删除用户的操作大家并不陌生,先来看看问题, # 创建用户testuser01 mysql> create user 'testuser01'@'%' identified by '...mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) # 创建用户testuser01成功 mysql> create user '...分析  还是回到这条语句上,这条语句是创建一个用户'testuser01'@'%',在MySQL当中,这条语句在执行器执行时,大致上看成对mysql库的user表插入一条记录,既然是表,大可以先查查看,...我们知道MySQL的一个新的连接,会为新连接维护一个线程对象,然后从权限数组里查到这个用户的权限,为了获取该用户可完成的权限,还需要将权限值拷贝到这个线程对象中。

    20320

    怎么办】004 如何找到库跑路的人--监控数据库用户登录

    关键字(Keyword):session,audit,unified audit,会话 问题: 在Oracle数据库中想“库”,然后没事人地跑掉? 好吧,基本是不可能的了。...下面看看今天的问题: 如何监控数据库用户登录和注销信息? 解决方法: Oracle提供了多种方法监控数据库用户登录和注销信息。 1)通过传统的审计功能 可参考之前发布的以下文章。...【常用命令】监视数据库的用户登录和注销会话信息 2)通过统一审计(12c版本之后) Oracle12c版本之后,加强了审计功能,导入了统一审计功能。...通过统一审计可以轻松地监控数据库用户登录和注销信息。 关于统一审计可参考如下在线文档。 参考:What Is Unified Auditing?...统一审计监控数据库用户登录的具体方法如下: 1.设置统一审计策略 create audit policy actions logon,logoff; 参考:(CREATE AUDIT POLICY

    85110

    手把手教你玩 MySQL 库不跑路,直接 MySQL 的 binlog 玩溜!

    我们常常听人说,只要你愿意,MySQL 可以恢复至半个月甚至一个月以内的任何一个状态。网上也有很多库跑路的段子。。。...那么今天松哥想和大家来聊一聊 MySQL 中的 binlog,来手把手教大家如何利用 binlog 来恢复 MySQL 中的数据,这样,以后要是不小心库了,那也不用跑路了。...master 可以重置 binlog 日志文件,让日志重新从 000001 开始记录,不过如果当前主机有一个或者多个从机在运行,那么该命令就运行不了(因为从机是通过 binlog 来实现数据库同步的,主机...,由于这个 binlog 文件中有删除数据库的语句,那么就会导致执行完该 binlog 之后,javaboy 库又被删除了。...小结 好啦,今天这篇文章主要是和小伙伴们分享了 MySQL 的 binlog 日志,并通过一个小案例来演示如何通过 binlog 实现数据库的库恢复。

    38010

    妹子一个rm -rf公司服务器数据没了,我该怎么办

    就这样,整个盘的文件全部删除了,包括应用 Tomcat、MySQL 数据库 and so on...... MySQL 数据库不是在运行吗?Linux 能删除正在执行的文件?...反正是彻底删除了,最后还剩一个 Tomcat 的 Log 文件,估计是文件过大,一时没有删除成功。...想起来一位领导说过的案例:当一个生产系统挂掉以后,发现所有备份都有问题,刻录的光盘也有划痕,磁带机也坏了(一个业界前辈,估计以前还用光盘做备份了),没想到今天真的应验到我的身上了,怎么办?...于是燃起了一丝希望,赶快对盘 umount,防止重新写入补文件扇区。下载 ext3grep,安装(编译安装过程艰辛暂且不表)。...根据评论提醒,再加一条:不能使用 Root 用户来操作。应该在服务器上开设不同权限级别的用户

    77550

    妹子一个rm -rf公司服务器数据没了,我该怎么办

    就这样,整个盘的文件全部删除了,包括应用 Tomcat、MySQL 数据库 and so on...... MySQL 数据库不是在运行吗?Linux 能删除正在执行的文件?...反正是彻底删除了,最后还剩一个 Tomcat 的 Log 文件,估计是文件过大,一时没有删除成功。...想起来一位领导说过的案例:当一个生产系统挂掉以后,发现所有备份都有问题,刻录的光盘也有划痕,磁带机也坏了(一个业界前辈,估计以前还用光盘做备份了),没想到今天真的应验到我的身上了,怎么办?...于是燃起了一丝希望,赶快对盘 umount,防止重新写入补文件扇区。下载 ext3grep,安装(编译安装过程艰辛暂且不表)。...根据评论提醒,再加一条:不能使用 Root 用户来操作。应该在服务器上开设不同权限级别的用户

    1K20

    MySQL实战第三十一讲- 误删数据后除了跑路,还能怎么办

    使用 rm 命令误删整个 MySQL 实例。 误删行 在 第24篇 文章中,我们提到如果是使用 delete 语句误删了数据行,可以用 Flashback 工具通过闪回数据恢复回来。...你可能会说,设置了 sql_safe_updates=on,如果我真的要把一个小表的数据全部删掉,应该怎么办呢?...那么,如果我们真的是使用这几条命令误删数据了,又该怎么办呢? 误删库 / 表 这种情况下,要想恢复数据,就需要使用全量备份,加增量日志的方式了。...这些日志,除了误删除数据的语句外,全部应用到临时库。 这个流程的示意图如下图1所示:  关于这个过程,我需要和你说明如下几点: 1. ...除了这个例子里面说的 SQL 语句截断问题,还可能存在乱码问题。

    58920

    从零到上亿用户,我MySQL数据库优化玩明白了!

    很多人拥有大厂梦,却容易在面试中因为MySQL败下阵来。...还有就是刚毕业也没咋碰过开发,MySQL的基础操作还算熟悉,项目中实际用过 MySQL,但是对 MySQL 的底层原理并不清楚。...这些情况肯定是过不了面试官那一关的,也不要再自信满满的在简历上写“精通MySQL”,会被面试官狠狠虐一番… 有人说为了进大厂,特地花了一个月左右时间复习MySQL的相关知识,其实没必要。...这里推荐一个免费的Mysql实训营给大家——《高并发Mysql性能优化与海量数据架构实战》,四天专攻MySQL,助你向大厂“开炮”,面试不再被难倒。...Mysql性能调优以及海量数据处理架构有一个深度的理解,深度掌握Mysql底层优化原理。

    49020

    缓存一致性问题

    先删除再操作DB就没问题吗 答案是也会有问题,可能会出现如下场景: 先缓存的问题 线程 A 先删除了缓存,还没来得及更新 DB 的时候,线程 B 进来了, DB 中的旧数据又读取到了缓存中,最后线程...双延迟策略 上面说了先删除缓存还是会存在问题,就是线程 A 更新 DB 之前如果线程 B 数据读到缓存中了,数据也会不一致。...异步删除缓存流程如下: binlog异步删除缓存 如果是 DB 有主从库怎么办?...主从可能会出现的情况就是主库的数据还没来得及同步到从库的时候,消费者已经缓存给删除了,然后读请求进来,读取到了从库的脏数据,更新到了缓存中,还是有一致性问题。...canal 的原理 我们知道 MySQL 主从的原理就是三个线程,一个线程负责记录主库的写操作,也就是 binlog 线程;一个线程负责主库的 binlog 拉取到从库;还有一个线程就负责读取 binlog

    32930

    如何保证数据库和缓存双写一致性?

    4.1 高并发下的问题 假设在高并发的场景中,同一个用户的同一条数据,有一个读数据请求c,还有另一个写数据请求d(一个更新操作),同时请求到业务系统。如下图所示: 请求d先过来,缓存删除了。...请求d卡顿结束,新值写入数据库后,请求c将数据库中的旧值,更新到缓存中。 此时,如果请求d删除太快,在请求c将数据库中的旧值更新到缓存之前,就已经缓存删除了,这次删除就没任何意义。...推荐大家使用先写数据库,再缓存的方案,虽说不能100%避免数据不一致问题,但出现该问题的概率,相对于其他方案来说是最小的。 但在该方案中,如果删除缓存失败了该怎么办呢? 6. 缓存失败怎么办?...其实先写数据库,再缓存的方案,跟缓存双的方案一样,有一个共同的风险点,即:如果缓存删除失败了,也会导致缓存和数据库的数据不一致。 那么,删除缓存失败怎么办呢? 答:需要加重试机制。...mysql服务器会自动变更的数据写入binlog中。 binlog订阅者获取变更的数据,然后删除缓存。

    1.1K30

    库了,我们一定要跑路吗?

    场景一:误删了某条数据 一不小心将 student 表中 id=1 的数据删除了。该怎么办? 凭着记忆手动插入这条数据吗?好像也不是不可以哇,能记住的都是天才,利用 binlog 日志才是王道。...场景二:误删了数据表 又是一不小心表 student 给删除了。...场景三:误删了数据库 你在工作中受气了,准备库跑路啦,于是你就把pingtouge数据库给删除了完之后你就后悔了,怎么办?在线等。...通过查看 binlog 日志发现创建数据库pingtouge的开始偏移量为 219,库之前的最后偏移量为 3861,有了这两个偏移量之后,执行: mysqlbinlog d:\Mysql-binlog...库了,我们不一定需要跑路,一定要学习自救,少年。 以上就是今天分享的内容,希望对您的学习或者工作有所帮助,如果您觉得文章不错,欢迎点个赞和转发,谢谢。

    65431

    【并发进阶】大厂高并发下,后缓存依然会存在数据不一致的问题,怎么办

    怎么办呢?其实,我们“更新”改成“删除”就好了。...后缓存 删除的动作放在后面,就能够保证每次读到的值都是新的,从数据库里面拿到最新的。...延时双 假如有一种机制,能够确保删除动作延后且一定被执行,那就可以解决这个问题了。常用的方法就是延时双,依然是先更新再删除:我们这个删除动作延后再执行一次,比如 5 秒之后。...当然解决不一致的问题,除了延时双,我们还有另外一种最终一致性的处理方案,那就是统一更新。 统一更新 这个方案很美好,但这对业务架构的设计要求非常高。...当然除此之外,如果老板不差钱的话,可以弱化数据库,就是redis作为第一存储,mysql作为第二存储,数据进来后先放到redis里面,然后再更新到Mysql。这样也是比较好的方案。

    58920

    怎么避免MYSQL误删除避免混淆开发环境的DB和生产环境的DB用事务保护使用安全更新模式对DROP和TRUNCATE慎之又慎最终的招数最终的话

    $ mysql -uroot -p --delimiter=_D_ Enter password: Welcome to the MySQL monitor....Type '\c' to clear the current input statement. mysql> delete mysql.user; -> --mysql不认为分号是分隔符 每次执行生产的...MySQL自己图形界面工具Mysql Workbench默认情况下的安全更新模式是打开的。 对DROP和TRUNCATE慎之又慎 不管在什么环境,要删除表时,永远不要直接。...而是要保证 总是的表的表名改了 运行一段时间后,程序没有问题,再真的 ALTER TABLE tbl_name RENAME TO tal_name_tobedel 删除数据库时,因为MySQL...最终的招数 如果真的删除了怎么办? 生产库必须得有备份。果断停服务,用备份恢复数据,给用户发抱歉通知。越快越好。 如果没有——同时如果你是责任人的话,可以抽空准备简历了。

    1.3K130

    MySQL误删怎么办

    预防 sql_sage_update设置为on,如果我们忘记在delete或者update语句中写where条件,或者where条件里面没有包含索引字段的话,这条语句的执行就会报错,如果真的需要全一个小标...举例 假设当前库的备份策略是一天一备,假如有人中午12点误删了一个库,恢复流程如下: 取最近一次的全备,也就是当天的0点 用备份恢复出一个临时库 从日志备份里,取出凌晨0点之后的日志 这些日志除了误删数据的语句外...就可以让临时库只同步误操作的表 也可以用上并行复制来加速整个数据恢复过程 如果备库上已经删除了临时实例需要的binlog怎么办?...,必须先对表做改名操作, 观察一段时间,确保业务无影响以后再 ○ 改名的时候,要求给表名加固定的后缀(比如_to_be_deleted),然后删除表的动作必须通过管理系统执行,并且管理系删除表的时候...,之恩给你删除固定后缀的表 使用rm命令误删整个MySQL实例 对于一个有高可用机制的MySQL集群来说,rm删除数据后,只要不是恶意的整个集群删除,而只是删除了其中一个节点的数据的话,HA就会开始工作

    1.5K40

    Innodb中MySQL如何快速删除2T的大表

    这意味着,如果在白天,访问量非常大的时候,如果你在不做任何处理措施的情况下,执行了大表的命令,整个mysql就挂在那了,在表期间,QPS会严重下滑,然后产品经理就来找你喝茶了。...这个时候,你做了删除文件名(1)的操作,linux系统检测到,还有一个文件名(2)指向Inode Index,因此并不会真正的文件删了,而是文件名(1)的引用给删了,这步操作非常快,毕竟只是删除引用...此时,你执行drop table操作 mysql> drop table erp;   Query OK, 0 rows affected (0.99 sec)   你会发现,不到1秒就删除了。...那么,这时的删除,已经table从mysql中删除。但是磁盘空间,还没释放,因为还剩一个文件erp.ibd.hdlk。 如何正确的删除erp.ibd.hdlk呢?...其他情况 这里指的是,如果数据库是部署在windows上怎么办。这个问题,我来回答,其实不够专业。因为我出道以来,还没碰到过,生产环境上,mysql是部在windows上的。

    2.9K20
    领券