保证数据不被误删的方法如下列表:

  • 权限控制与分配(数据库和服务器权限)
  • 避免数据库账号信息泄露,在生产环境中,业务代码不要使用明文保存数据库连接信息;
  • 重要的数据库操作,通过平台型工具自动实施,减少人工操作;
  • 部署延迟复制从库,万一误删除时用于数据回档,且从库设置为 read-only;
  • 确认备份制度及时有效;
  • 启用 SQL 审计功能,养成良好 SQL 习惯;
  • 启用 sql safe updates 选项,不允许没 where 条件的更新/删除;
  • 将系统层的 rm 改为 mv;
  • 线上不进行物理删除,改为逻辑删除(将 row data 标记为不可用);
  • 启用堡垒机,屏蔽高危 SQL;
  • 降低数据库中普通账号的权限级别;
  • 开启 binlog,方便追溯数据。