
-
效时间时,一次性把所有会员的有效时间都更新了。
-
修复线上数据时,改错了,想还原。
还有很多很多场景,我就不一一列举了。
如果出现线上环境数据库误操作怎么办?有没有后悔药?
答案是有的,请各位看官仔细往下看。
1.不要用聊天工具发sql语句
通常开发人员写好sql语句之后,习惯通过聊天工具,比如:qq、钉钉、或者腾讯通等,发给团队老大或者DBA在线上环境执行。但由于有些聊天工具,对部分特殊字符会自动转义,而且有些消息由于内容太长,会被自动分成多条消息。
这样会导致团队老大或者DBA复制出来的sql不一定是正确的。
他们需要手动拼接成一条完整的sql,有时甚至需要把转义后的字符替换回以前的特殊字符,无形之中会浪费很多额外的时间。即使最终sql拼接好了,真正执行sql的人,心里一定很虚。
所以,强烈建议你把要在线上执行的sql语句用邮件发过去,可以避免使用聊天工具的一些弊端,减少一些误操作的机会。而且有个存档,方便今后有问题的时候回溯原因。很多聊天工具只保留最近7天的历史记录,邮件会保留更久一些。
别用聊天工具发sql语句!
别用聊天工具发sql语句!
别用聊天工具发sql语句!
重要的事情说三遍,它真的能减少一些误操作。
2.把sql语句压缩成一行
有些时候,开发人员写的sql语句很长,使用了各种join和union,而且使用美化工具,将一条sql变成了多行。在复制sql的时候,自己都无法确定sql是否完整。(为了装逼,把自己也坑了,哈哈哈)
线上环境有时候需要通过命令行连接数据库,比如:mysql,你把sql语句复制过来后,在命令行界面执行,由于屏幕滚动太快,这时根本无法确定sql是否都执行成功。
针对这类问题,强烈建议把sql语句压缩成一行,去掉多余的换行符和空格,可以有效的减少一些误操作。
(编辑:吉安站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|