怎么给mysql加排他锁
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么给mysql加排他锁相关的知识,希望对你有一定的参考价值。
参考技术A 重新启动mysql:[root@bogon ~]# /etc/rc.d/init.d/mysql restart
Shutting down MySQL [ 确定 ]
Starting MySQL. [ 确定 ]
[root@bogon ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.22-rc-community-log MySQL Community Edition (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql 锁与事务的一些概念
mysql InnoDB引擎
共享锁(S) select ... lock in share mode, 加了共享锁的数据, 其它地方只能加共享锁, 不能加排他锁.
排他锁(X) select ...for update, update,delete,insert 都会自动给涉及到的数据加上排他锁, 加了排他锁的数据, 其它地方不能再加任何锁.
事务四个隔离级别
1.未提交读: 可以读未提交数据.
2.提交读: 只能读已提交的数据.
3.可重复读: 前后两次读取数据一致, 两种情况,一种, 开启事务, select出数据A, 数据A在其它地方被修, 再select出数据A, 这时两次数据是一样的, 二种, 开启事务, 修改出据A, select出数据A, 再修改数据A, select出数据A, 此时两次的数据都是第一次修改后的数据.
4.串行读: 串行化的读. 每次读都需要获得表级共享锁.
锁堵塞多数是事务没及时提交造成的
以上是关于怎么给mysql加排他锁的主要内容,如果未能解决你的问题,请参考以下文章