• 如何降低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、配置延迟从库,发现误删除数据后,从延迟从库快速恢复数据。
  • 相关阅读:
    *args和**kwargs
    事件驱动模型
    同步异步和阻塞非阻塞
    多进程和多线程
    认识tornado(五)
    认识tornado(四)
    认识tornado(三)
    [GO]使用select实现超时
    [GO]使用select实现斐波那契
    [GO]ticker的使用
  • 原文地址:https://www.cnblogs.com/zhouwanchun/p/13150837.html
Copyright © 2020-2023  润新知