mysql数据库中默认的隔离级别为repeat-read. innodb默认使用了next-gap算法,这种算法结合了index-row锁和gap锁.正因为这样的锁算法,innodb在可重复读这样的默认隔离级别上,可以避免幻象的产生. innodb_locks_unsafe_for_binlog最主要的作用就是控制innodb是否对gap加锁. 注意该参数如果是enable的,则是unsafe的,此时gap不会加锁:反之,如果disable掉该参数,则gap会加锁.当然对于一些和数据完整性相关的…