mysq参数sql_safe_updates限制范围】的更多相关文章

在mysql运维中出现过不少因为update/delete条件错误导致数据被误更新或者删除的case,为避免类似问题的发生,可以用sql_safe_updates参数来对update/delete做限制.这个参数设置为on后,可防止因程序bug或者DBA手工误操作导致的整个表被更新或者删除的情况. 设置这个参数时需要注意一下几点: a.设置前需要确认程序中所有的update和delete都符合sql_safe_updates的限制规范,不然程序会报错. b.5.0,5.1都是session级别的…
如果在生产环境中使用UPDATE语句更新表数据,此时如果忘记携带本应该添加的WHERE条件,那么..Oh,no…后果可能不堪设想.那么有没有什么办法可以阻止这样的事情发生,又不使用任何的审核工具呢...办法当然是有的 sql_safe_updates sql_safe_updates这个MySQL自带的参数就可以完美的解决我们的问题,并且该参数是可以在线变更的哦~当该参数开启的情况下,你必须要在UPDATE语句后携带WHERE条件,否则就会报出ERROR.. 举个栗子 # sql_safe_up…
Ⅰ.背景 早先操作数据误操作后,我们一般通过全量备份+binlog的方式来实现恢复(前滚) 有时只想撤销一个几分钟前的操作,采用这种方式就会显得很笨重 大家都知道Oracle有个叫做flashback的功能,很遗憾MySQL官方并没有提供类似的工具 但姜老师的innosql中实现了这个功能,而且还兼容官方MySQL,目前支持到5.7版本 Ⅱ.玩两手 关注微信公众号:InsideMySQL,找姜老师要下压缩包即可,直接解压,开箱即用,方便快捷 [root@VM_0_5_centos flashba…
Mysql配置参数: thread_pool:如果支持的话,使用线程池 innodb_buffer_pool_size:物理内存50%-70%最高80%独立实例,多实例:60% innodb_flush_log_at_trx_commit & sync_binlog:数据的一致性和丢失风险的评估,不允许丢失等设置为1,允许数据丢失风险commit为2,sysncs设置大点,如果不考虑丢失都设置为0 innodb_file_per_table:启动独立表空间模式.有很多的优势, innodb_da…
建表的完整性约束: not null 与 default unique primary auto_increment foreign key 外键的变种  三种关系 一.介绍 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性 主要分为: PRIMARY KEY (PK) #标识该字段为该表的主键,可以唯一的标识记录 FOREIGN KEY (FK) #标识该字段为该表的外键 NOT NULL #标识该字段不能为空 UNIQUE KEY (UK) #标识该字段的值是唯…
考虑到开发人员有时候不小心误更新数据,要求线上库的 MySQL 实例都设置 sql_safe_updates=1 来避免没有索引的 update.delete. 结果有一天开发发现下面的一个SQL 没法正确执行: update t1 set col2=1 where key1 in (select col2 from t2 where key2='ABcD'); 错误如下: ERROR 1175 (HY000): You are using safe update mode and you tr…
MySQ binlog三种模式及设置方法 1.1 Row Level  行模式 日志中会记录每一行数据被修改的形式,然后在slave端再对相同的数据进行修改 优点:在row level模式下,bin-log中可以不记录执行的sql语句的上下文相关的信息,仅仅只需要记录那一条被修改.所以rowlevel的日志内容会非常清楚的记录下每一行数据修改的细节.不会出现某些特定的情况下的存储过程或function,以及trigger的调用和触发无法被正确复制的问题 缺点:row level,所有的执行的语句…
系统变量提供的是各种与服务器配置和功能有关的信息.大部分的系统变量都可以在服务器启动时进行设置.在运行时,每一个系统变量都拥有一个全局值或会话值,或者同时拥有这两个值.许多系统变量都是动态的,也就是说,可以在服务器郑州运行时修改它们的值.这些类型的信息都会在每个变量的描述里(与变量名同处一行)指明. 对于那些可以在服务器启动时设置的变量,看到的是“自动”一词,后面紧跟着“直接设置”或某个选项.“直接设置”的意思是:可以在命令行上或者在选项文件里,使用与变量名同名的选项直接设置该变量.否则,在“启…
凡是需要耐心. 参数为静态参数则黄色字体标记. 参数为全局变量则粗体标记. 参数为全局.会话变量则不标记. auto_increment_increment auto_increment_offset 这两个参数对master-master replication与自增长列有所影响. 为保持数据一致性,复制过程中应设置相同的值. 参数1指定自增长起点,参数2指定偏移量(步长). autocommit 事务操作中是否自动提交,如果为1则自动提交,为0则需要commit. automatic_sp_…
MySQL系统变量sql_safe_updates总结   在MySQL中,系统变量sql_safe_updates是个非常有意思的系统变量,在Oracle和SQL Server中都没有见过这样的参数或功能.如果这个系统变量设置为1的话,意味着update与delete将会受到限制.个人臆测,之所以提供这个功能,一方面是要避免出现更新或删除数据时,忘记添加WHERE条件,导致数据被误更新或误删的情况.相信不少人都由于疏忽或大意,遇到过这种情况: 另外一方面也是为了提高SQL性能考虑,避免DELE…