mysql数据库事务隔离级别

1修改事务隔离级别

全局修改

        修改mysql.ini配置文件

        [mysqlId]

        transaction-isolation=REPEATBLE-READ

对当前session修改

         登录mysql客户端后,执行命令set session transaction isolation level read uncommit;

         select @@TX_ISOLATION;

2mysql有一个autocommit参数 默认是on(自动开始、自动提交、执行完后自动结束)

   由于行锁在自动提交之后被释放,那么自动提交对于select for update的行锁机制没有用

3锁机制

共享锁:

         由读表操作加上的锁,加锁后其他用户只能获取该表或行的共享锁,不能获取排他锁,也就是说只能读不能写

排他锁:

         由写表操作加上的锁,加锁后其他用户不能获取该表或行的任何锁,典型是mysql事务中

4锁范围:

        行锁:对某行记录加上锁

        表锁:对整个表加上锁

5A用户对表某条数据进行修改时,为这行添加了行锁,所以其他用户不能对它进行修改

6可重复提交:B开启事务进行修改,B提交事务,A提交了事务,才可以查到B修改之后的数据

7可串行化(序列化)对表查询时就会对表或行加上共享锁,其他事务只能进行读操作

        

你可能感兴趣的:(mysql数据库事务隔离级别)