范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

同事删库跑路后,我连表名都不能修改了?

  事情是这样的,前几天隔壁部门的哥们在生产环境的数据库上,执行了一下 drop 命令,好嘛,活生生的删库跑路的例子居然真的在我身边发生了,好在运维同学给力,后来恢复了数据。事后听说这哥们虽然没被开除,但也吃了个公司的警告。
  再然后,运维那边回收了所有环境下数据库的 drop 命令的权限,甚至包括了开发环境,本来觉得对我们也没啥影响,一般我们也没有啥需要删表的需求。但是隔了没几天,我在重命名一个表的时候,突然弹出了这样一个报错:
  仔细看了一眼报错: 1142 - DROP command denied to user "hydra"@"localhost" for table "t_orders"
  什么情况,重命名表和 drop 命令还有什么关系?本着怀疑的态度,就想探究一下没有drop 权限后,对我们的日常数据库操作都有什么影响,于是就有了后面一系列在本地进行的测试。
  首先需要一个没有 drop 权限的mysql用户,我们先在本地环境使用root用户登录mysql,取消用户hydra的drop 权限。和grant 授权命令相对应的,可以使用revoke 命令取消对用户的授权:revoke drop on *.* from hydra@"localhost";
  好了,准备工作做完了,It"s show time~ 修改表名
  前面直接使用navicat来修改表名失败,那我们再用sql命令来尝试一下:
  上面测试了两种重命名表的命令,无论是 ALTER 还是RENAME 都不能正常使用,看来drop 的权限确实会对修改表名造成影响。至于重命名失败的原因,看一下官方文档的说明:
  RENAME TABLE renames one or more tables. You must have ALTER and DROP privileges for the original table, and CREATE and INSERT privileges for the new table.
  简单来说就是在重命名表时,必须有原始表的 ALTER 和DROP 权限,以及新表的CREATE 和INSERT 权限。truncate
  当我需要清空一张表、顺带把 AUTO_INCREMENT 的主键置为初始值时,突然发现truncate 命令也无法执行了:
  有了上面的经验,还是看一下官方文档的说明: Although TRUNCATE TABLE is similar to DELETE, it is classified as a DDL statement rather than a DML statement. It differs from DELETE in the following ways:
  Truncate operations drop and re-create the table, which is much faster than deleting rows one by one, particularly for large tables.
  文档给出的解释是尽管 truncate 和delete 的功能很像,但是truncate 被归类为DDL语言,而delete 则是DML语言。相对于delete 一行行删除数据,truncate 会删除表后重新新建表,这一操作相对delete 会快很多,尤其是对大表而言。
  从分类也可以看出两者之间的不同,DML( data manipulation language )作为数据操作语言,主要是针对数据进行一些操作,例如常用的增删改查。而DDL(data definition language )则是数据定义语言,主要应用于定义或改变表的结构等操作,并且这一操作过程是隐性提交的,不能回滚。
  在 truncate 无法使用的情况下,来执行一下delete 试试:
  虽然说不带 where 条件的delete 删除语句很不推荐使用,但是在功能上还是可以执行成功的。那么再看看另一个问题,表中的自增id 重置了吗?
  我们知道,如果执行了 truncate 的话,那么自增列id 的值会被重置为1。下面看看delete 执行后的情况,插入一条数据并查询:
  通过上面的结果,可以看到使用 delete 清表后,自增列的值还是在原先的基础上进行自增。如果需要重置这个值的话,需要我们手动在表上执行alter 命令修改:alter table t_orders auto_increment= 1; drop作用范围
  那么,是否存在即使在没有权限的情况下,也可以执行成功的 drop 指令?我们对不同对象分别进行测试,首先尝试对数据库、表、视图的drop 操作:drop DATABASE mall; > 1044 - Access denied for user "hydra"@"localhost" to database "mall" > 时间: 0.005s  drop TABLE t_orders; > 1142 - DROP command denied to user "hydra"@"localhost" for table "t_orders" > 时间: 0s  drop VIEW order_view; > 1142 - DROP command denied to user "hydra"@"localhost" for table "order_view" > 时间: 0.001s
  上面这些命令理所当然的没有执行成功,但是在尝试到使用 drop 删除存储过程时,意料之外的结果出现了。在没有drop 权限的情况下,对存储过程的drop 操作,居然可以执行成功:
  翻到官方文档中授权这一章节,看一下这张图就明白了:
  上面的表进行了解释, drop 命令的作用范围仅仅是数据库、表以及视图,而存储过程的权限被单独放在alter routine 中了,因此即使没有drop 权限,我们仍可以用drop 命令来删除存储过程。delete后如何恢复数据
  通过前面的实验可以看到,虽然在回收 drop 权限后不能使用truncate 清空数据表了,但我们仍然可以使用delete 语句达到相同的效果,那么为什么delete 就不害怕删库的风险呢?
  前面我们提到过, delete 语句属于DDL语言,其实在实际的删除过程中是一行行的进行删除的,并且会将每行数据的删除日志记录在日志中,下面我们就看看如何利用binlog 来恢复删除的数据。
  首先要求数据库开启 binlog ,使用下面的语句来查询是否开启:show variables like "%log_bin%";
  在值为 ON 的情况下,表示开启了binglog :
  确保开启了 binlog 后,我们使用delete 来删除表中的全部数据:delete from t_orders;
  在恢复删除的数据前,需要先找到存放数据文件的目录:
  在该目录下,存在若干名称为 mysql-bin.***** 的文件,我们需要根据删除操作发生的时间找到临近的binglog 文件:
  找到目标 binlog 文件后,这里先将它拷贝到D:	mp 目录下,然后到mysql安装目录的bin 目录下,执行下面的指令:
  mysqlbinlog --base64-output=decode-rows -v
  --database=mall
  --start-datetime=  "2021-09-17 20:50:00"
  --stop-datetime="2021-09-17 21:30:00"
  D:	mpmysql-bin.000001 > mysqllog.sql
  对参数进行一下说明: base64-output=decode-rows :基于行事件解析成sql语句,并将数据转换正常的字符database :数据库名start-datetime :从binlog中第一个等于或晚于该时间戳的事件开始读取,也就是恢复数据的起始时间stop-datetime :与上面对应的,是恢复数据的结束时间D:	mpmysql-bin.000001 :恢复数据的日志文件mysqllog.sql :恢复数据的输出文件
  执行完成后,在 bin 目录下会生成一个mysqllog.sql 的文件,打开文件看一下,可以找到删除时执行的delete 语句:
  从语句中可以拿到 delete 命令执行时每一行数据的值,这样就可以进行数据的恢复了。如果需要恢复的数据量非常大的话,建议使用脚本批量将delete 语句转换为insert 语句,减轻恢复数据的工作量。
  好了,如果你坚持看到这里,答应我,以后删库前,先看一下有没有开启binlog好吗?
  官方文档:https://dev.mysql.com/doc/refman/5.7/en

外企特斯拉一石惊起万重浪外企为何在国内就是这么的豪横?特斯拉真的太豪横了,去年大连的日资企业佳能撤场,给员工足额的赔偿款,让佳能一夜之间火遍大江南北,被网友称为良心企业特斯拉上海公司给员工高额的生活补贴,也成功地登上热搜,赚去了眼球,与特斯拉比智能,试驾20万内最好开的纯电SUV零跑C11与特斯拉比智能,试驾20万内最好开的纯电SUV零跑C11零跑C11(参数丨图片)是零跑汽车在S01T03之后的第三款量产车,也是零跑汽车成立6年来首款进入20万元价格带的主流车型,科技赋能助力发展富德生命人寿成功完成AXISTM精算模型转换项目鲁网4月24日讯日前,国内首个AXIS精算模型转换项目在富德生命人寿成功结项。原来准备金月结数据要8个小时才能输出可用报表,现在只要3个小时就可完成,而且从数据到报表输出已实现流程C中检查null的语法糖今天看到已经更新了devblogs,新增的C11的!!(用于检查null的语法)经过非常长的讨论,最后取消了。然后我又想起来null检查,这个可以说一说。函数参数null检查传统写人类祖先是如何从非洲出发,到最后遍布全球的?我们知道人类祖先的起源在非洲,是由类人猿进化而来,最后演化成现代人,并在漫长的岁月里足迹踏遍全球。那么这个过程是怎么进行的呢?大约在700万年前的非洲,人类的历史与动物的历史开始分兼顾安全与应用2021年中国隐私计算市场规模4。9亿元在数字经济时代,随着人工智能大数据等产业的快速发展,数据要素的作用及其重要性愈发凸显。与此同时,大量挖掘和收集用户数据与信息,金融领域用户数据信息泄露事件多发。随着数据保护法个人信农村新电商助力乡村振兴的体系化建设中共中央关于党的百年奋斗重大成就和历史经验的决议中强调党始终把解决好三农问题作为全党工作重中之重,实施乡村振兴战略,加快推进农业农村现代化。再次重申了现阶段党将乡村振兴战略作为解决激发数字经济活力增强数字政府效能数字政府作为数字中国的有机组成部分,不仅是推进中国高质量建设实现经济高质量发展的重要支撑,也是推动政府治理现代化的重要动力。以人工智能大数据为代表的新技术迅猛发展,给人们的日常生活推动科技成果加速转化落地来源黑龙江日报原标题推动科技成果加速转化落地当前,龙江正处于由转型发展向创新发展加速迈进的关键时期。为实现更高质量更有效率更加公平更可持续的发展,我们比任何时候都更需要科技供给,更扬电科技2022年第一季度净利2410。96万同比增加185挖贝网4月24日,扬电科技(301012)近日发布2022年第一季度报告,报告期内实现营业收入191,727,773。64元,同比增加120。55归属于上市公司股东的净利润24,1256G内存不够用?这3款12512GB内存的手机,最低2499元,价真香您在阅读前请点击上面的关注二字,后续会第一时间为您提供更多有价值的相关内容,感谢您的支持。随着人们使用手机频率的加大,以及各种应用软件占用的空间越来越多,现在128GB手机的内存已
没有方向盘?最便宜的特斯拉有望2023年发布售价16万特斯拉打算推出售价2。5万美元的电动车已经不是什么秘密了,那么这款电动车究竟在什么时候发布呢?外媒给出了最新的说法。外媒援引消息人士的爆料称,特斯拉有望于2023年开始生产这款售价iPhoneSE3后置摄像模组浴霸设计,刘海设计被改造,网友ampampquot更丑了ampampquot笔歌科技独家报道苹果iPhoneSE3方面消息,外媒曝光了一组iPhoneSE3的设计概念图,iPhoneSE3后置摄像模组继承当前浴霸设计,刘海设计也被改造,网上有瞬间炸开了锅,退款就拉黑?一团伙闲鱼低价卖二手iPhone诈骗141万手机中国新闻对于一部分人来说,买一台全新的iPhone手机可能预算不够,所以去二手平台入手一部二手iPhone不失为一种选择。但购买二手手机往往不省心,甚至可能遭受诈骗。退款就拉黑小米有品好物清单年轻人的第一把茶壶健腹轮进入智能化时代小米MIX4的发布会结尾,雷军放出一个意料之外的惊喜回馈小米手机1首批用户,赠送等值小米手机1的1999元小米商城无门槛红包。作为小米手机1的首批用户,我自然也得到了这份红包奖励,手机店老板的建议,这四款才是换机首选,你买对了吗?当下手机市场上的手机可以说是越来越多,很多人为此也是陷入了选择手机的苦恼,其实在这么多的产品当中能够买到适合自己的机型就很不错了,下面不妨给大家介绍一下当下口碑不错的几款手机,看看这个中秋还在准备送月饼?不如送一个咕咚运动手表写在前面以前每次中秋,去老丈人家都是一手烟酒一手月饼,不知道你是不是也是这个情况?烟酒不健康,并且太费钱,主要是太费钱月饼是我送的,最后也是我吃的。所以最近几年都是送的相对实用的东仅1899元,6纳米芯片66W快充120Hz高刷,这才是真香荣耀5G手机在荣耀未被华为出售之前,荣耀手机的性价比还是不错的,但是自从荣耀脱离了华为之外,在上半年大家也都看到了,无论是荣耀V40系列,还是荣耀50系列,都引起了不少网友吐槽,尤其是荣耀V4您应该在2021年购买的7种最佳运动相机1。Insta360一号X2Insta360OneX2运动相机Insta360OneX2是我最喜欢的运动相机之一。事实上,Insta360公司开始成为我在市场上最喜欢的相机生产商之智能与续航兼备的最强安卓智能手表OPPOWatch2eSIM版体验从最早的运动手环到今天的OPPOWatch2智能手表,其间用过标榜着智能的手表大概有七八块吧,智能化方面的应用,基本以来电提醒即时信息久坐提醒及更换表盘等为主。但上手了OPPOWa开学返校怎可无音乐作伴?快来苏宁易购实现耳机自由转眼又是一年开学季,莘莘学子们踏上返校的旅程,即将开启新一轮的学习充电。兵马未动粮草先行,若做好了全面而充足的物资准备,学习生活就能更为高效轻松。那么除开被褥纸笔等生活与学习必需品全自动智能锁怎么样?现在我们的生活变得越来越智能。不管生活中的各种设备,都先进了很多,智能锁已经成为人们的最爱,但是很多人会问,什么是全自动智能锁,什么是半自动智能锁,还有什么区别?目前专业智能门锁出