MySQL群讨论,你都用了什么方法防止误删数据?
答:
根据大家的讨论,总结共有以下几个措施,供参考:
1. 生产环境中,业务代码尽量不明文保存数据库连接账号密码信息;
2. 重要的DML、DDL通过平台型工具自动实施,减少人工操作;
3. 部署延迟复制从库,万一误删除时用于数据回档。且从库设置为read-only;
4. 确认备份制度及时有效;
5. 启用SQL审计功能,养成良好SQL习惯;
6. 启用 sql_safe_updates 选项,不允许没 WHERE 条件的更新/删除;
7. 将系统层的 rm 改为 mv;
8. 线上不进行物理删除,改为逻辑删除(将row data标记为不可用);
9. 启用堡垒机,屏蔽高危SQL;
10. 降低数据库中普通账号的权限级别;
11. 务必开启binlog。