mysql 主从同步权限_mysql 主从同步权限mysql 行锁的实现

Gap lock: This is a lock on a gap between index records, or a lock on the gap before the first or after the last index record.

原来msyql有间隙锁机制,就是把两个记录直接的缝缝给锁住,又或者锁住前后记录,在repeatable-read隔离级别下的mysql会有一个间隙锁算法,假如进行update扫描时,辅助索引有多个记录满足条件是会把这几条记录及记录中间的缝缝都会锁住,而insert的时候也会去判断下一个记录是否有加锁,所以才会发生上面的阻塞。这是mysql为了保证该隔离级别下的可重复读的机制,但也影响到业务并发的效率,可以修改系统参数innodb_locks_unsafe_for_binlog=on就可以关闭改间隙锁机制。该值默认为off,修改事务隔离级别为read-committed也可以避免间隙锁。修改为read-committed来试试看。

mysql> set global tx_isolation='read-committed';

Query OK, 0 rows affected (0.00 sec)

全部session连接重新连接一下才能生效,现在来按上面的步骤再测试一下:

session1session2

mysql> begin;Query OK, 0 rows affected (0.00 sec)

mysql> update t1 set age2=55 where age1=1 and age2=4;

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

mysql> begin;

Query OK, 0 rows affected (0.00 sec)

mysql> update t1 set age2=55 where age1=1 and id=1;

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

rollbackrollback这个没问题..................

session1session2

mysql> begin;Query OK, 0 rows affected (0.00 sec)

mysql> update t1 set age2=111 where age1=2;

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

mysql> begin;

Query OK, 0 rows affected (0.00 sec)

mysql> insert into t1(age1,age2) values(1,33);

Query OK, 1 row affected (0.00 sec)

rollbackrollback也没问题..................

mysql在默认隔离级别repeatable-read下,会有gap lock和next-key lock两个算法锁来确保数据可重复读

Next-key lock: This is a combination of a record lock on the index record and a gap lock on the gap before the index record

next-key lock就是范围锁,当我们利用索引范围扫描时,在这一个范围内的数据都会被加锁,以防止幻读。

本文出自 “肖忠” 博客,请务必保留此出处http://xiaozhong991.blog.51cto.com/2354914/1761360

更多:mysql 主从同步权限mysql 行锁的实现

https://www.002pc.comhttps://www.002pc.com/mysql/1425.html

你可能感兴趣的行锁,mysql,实现

php5函数PHP+mysql实现的三级联动菜单功能示例

本文实例讲述了PHP+mysql实现的三级联动菜单功能。分享给大家供大家参考,具体如下:

数据库mysql

美拍 视频解析 phpphp实现MySQL数据库备份与还原类实例

本文实例讲述了php实现MySQL数据库备份与还原类。分享给大家供大家参考。具体分析如下:

这是一个非常简单的利用php来备份mysql数据库的类文件,我们只要简单的在dbmange中配

php生成32位随机数PHP+Mysql+jQuery实现动态展示信息

在本站前面有文章介绍了如何实现发表微博说说:PHP+Mysql+jQuery实现发布微博程序--jQuery篇,本例将基于其数据库结构,用动态的方式展示发表的说说信息。

php168视频教程ThinkPHP实现将SESSION存入MYSQL的方法

php第二电脑网对《php168视频教程ThinkPHP实现将SESSION存入MYSQL的方法》总结来说,为我们PHP资料很实用。

js获取城市获取省份JS实现鼠标点击展开或隐藏表格行的方法

本文实例讲述了JS实现鼠标点击展开或隐藏表格行的方法。分享给大家供大家参考。具体实现方法如下:

第二电脑网对《JS实现鼠标点击展开或隐藏表格行的方法》总结来说,为我们站

php如何判断png位数再说PHP文件锁,共享锁和排它锁注意点

文件锁有两种:共享锁和排他锁,也就是读锁(LOCK_SH)和写锁(LOCK_EX) 文件的锁一般这么使用:$fp = fopen("filename", "a")

跟踪js动态添加删除表格行的js实现代码

W WW.002PC .COM认为此文章对《动态添加删除表格行的js实现代码》说的很在理。

python 并用70行代码实现日志分析程序​

用70行代码实现日志分析程序功能介绍:可直接对文本日至进行分组和排序功能,完了输出结果粘贴到excel里就可以直接生成图表,对于排查一些生产

js 连mysql 延后JavaScript实现页面无操作倒计时退出

项目前端页面需要实现,页面没人操作进入倒计时,以下为前端代码实现。W WW.002PC .COM对《JavaScript实现页面无操作倒计时退出》总结来说,为我们程序交易很实用。

//设置(倒计

0踩

0 赞

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值