简介
打开安全模式之可以避免在 update/delete 操作未加条件时,导致全部数据更改/删除,这个对新人来说是有可能发生的。如果数据没有备份,那就凉了~ ,如果是线上环境,这可能会给团队带来直接损失。测试环境还可以慢慢修,但是也会耗费大量时间。为了避免这种情况发生,给大家分享个人的3点建议。
建议
1、打开方式:在登录 MySQL 时 加 -U,如:mysql -uroot -U
这个比较麻烦的是你可能每次 update/delete 的时候 where 后面都需要跟索引字段,如果没有加 where 条件或者where 后不是索引字段时,必须使用 limit 。或者手动把 mysql 下关闭安全模式:
set sql_safe_updates=0;或set sql_safe_updates=off;
做完自己想做的mysql操作之后切记要再打开
set sql_safe_updates=1;或set sql_safe_updates=on;
这种通常使用终端时操作使用,如果想知道当前环境有没有打开安全模式,可以使用查询环境语句查询,不过要注意区分会话级别、全局级别的系统变量。
2、使用 mysql 管理工具操作,界面之后更改选中的数据,不会存在更新/删除所有数据的风险。
3、使用 crontab 定时每天备份重要数据,如果不是很占内存,可以保留3天内的备份数据,3天以前的备份数据删除。
如果有错误的地方麻烦大家在评论指出哈!