zoukankan      html  css  js  c++  java
  • 如何降低UPDATE/DELETE时WHERE条件写错,或者压根没写WHERE条件带来的影响?

    如何降低UPDATE/DELETE时WHERE条件写错,或者压根没写WHERE条件带来的影响?
    
    
    0、尽量不要在线手工执行任何SQL命令,很容易出差错。线上直接执行SQL命令最好有第二检查人帮助确认。
    
    1、最好在测试环境执行SQL确认无误后,再到生产环境执行,或者提前在本地文本环境编辑好确认后再执行。
    
    2、建议打开sql_safe_updates选项,禁止没有WHERE条件或者不加LIMIT或者没有使用索引条件的UPDATE/DELETE命令被执行。也可以在用mysql客户端连接到服务器端时增加--safe-updates选项。
    例如:# mysql --safe-updates -udba -p -S /data/mysql/3306/sock/mysql.sock
    
    3、线上手动执行DML操作时,先开启事务模式,万一误操作可以回滚。例如:mysql> begin; update xxx; rollback;
    
    4、通过DB管理平台执行DML操作,且在平台上增加对此类危险SQL的判断,直接拒绝危险SQL的执行。
    
    5、配置延迟从库,发现误删除数据后,从延迟从库快速恢复数据。
  • 相关阅读:
    http的8种请求方式
    死锁
    进程与线程
    vuex
    路由懒加载
    SPA单页面富应用
    组件中的data为什么必须是函数
    v-for中key的作用
    关于排序的常识总结
    关于树的常见操作-C++面试
  • 原文地址:https://www.cnblogs.com/zhouwanchun/p/13150837.html
Copyright © 2011-2022 走看看