1. 登录数据库

    mysql -u root - p
  2. 新建用户,各启动一个事物,用于同时操作数据库表中数据

    create user tom identified by 'tom';

    然后同时再用该用户启动MySQL。这样就能通过使用两个事物操作数据库进行验证了

    mysql -u tom -p
  3. 新建的tom用户是没有权限对其他数据库进行操作的,因此要赋予权限。通过系统用户对该tom用户赋予权限:

    grant select,insert,update,delete on test.* to tom@localhost identified by 'tom';

    注意:MySQL8.0不支持这种写法了,需要把identified by 'tom'去掉。前面默认创建的主机是%,即任意主机,因此要把localhost改成'%';
  4. 两个用户分别use test;

    下面是我创建的test数据库中的user_table表:



    root-->select * from user_table where user = 'CC';

    tom-->select * from user_table where user = 'CC';

    默认情况下,这两个DML操作都自动提交了。因此这两个语句事实上是两个事物。
  5. 让其执行完DML之后,不自动提交

    set autocommit = false;
  6. 先查看其隔离级别

    select @@tx_isolation;

    MySQL8.0后是select @@transaction_isolation;-->REPEATABLE-READ;

    7.验证隔离级别

    root-->select * from user_table where user = 'cc';

    tom-->update user_table set balance = 3000 where user = 'cc';

    tom-->select * from user_table where user = 'cc';-->3000

    root-->select * from user_table where user = 'cc';-->2000

    因为此时两者都没有提交,这里就验证了避免脏读的问题;

    tom-->commit;

    root-->select * from user_table where user = 'cc';-->2000

    这里tom提交,说明数据库已经改了,但是root查询到的仍然是2000,验证了避免不可重复读的问题;

    若想root读到3000,只需root提交之后,再次查询即可。(提交意味着当前事物已经结束了)
  7. 修改隔离级别

    设置数据库系统的全局的隔离级别

    set global transaction isolation level read committed;

    然后需要把当前连接断掉,重新进入MySQL才能显示已修改的隔离级别。

    9.再次执行5、6、7中代码进行验证既可。

    10.再次修改隔离级别为read uncommitted进行验证。

1.设置和验证MySQL数据库的隔离级别的更多相关文章

  1. Mysql数据库的隔离级别

    Mysql数据库的隔离级别有四种 1.read umcommitted   读未提交(当前事务可以读取其他事务没提交的数据,会读取到脏数据) 2.read committed 读已提交(当前事务不能读 ...

  2. MySQL - 数据库的隔离级别

    MySQL - 数据库的隔离级别 隔离级别 脏读(Dirty Read) 不可重复读(NonRepeatable Read) 幻读(Phantom Read) 未提交读(Read uncommitte ...

  3. Mysql数据库事务隔离级别

    事务(transaction)是数据库管理系统的执行单位,可以是一个数据库操作(如Select操作)或者是一组操作序列.事务ACID属性,即原子性(Atomicity).一致性(Consistency ...

  4. mysql事务之一:MySQL数据库事务隔离级别(Transaction Isolation Level)及锁的实现原理

    一.数据库隔离级别 数据库隔离级别有四种,应用<高性能mysql>一书中的说明: 然后说说修改事务隔离级别的方法: 1.全局修改,修改mysql.ini配置文件,在最后加上 1 #可选参数 ...

  5. MySQL数据库的隔离级别之可重复读为什么能够有效防止幻读现象的出现

    可重复读隔离级别,不允许存在幻读,该隔离级别之所以能够有效防止幻读现象的出现,是因为可重复读这个隔离级别有用到GAP锁(间隙锁).下面我们以解析SQL语句为切入点,来解释个中原因. 前提条件:①数据库 ...

  6. mysql数据库——事务隔离级别

    四种隔离级别: 一:READ UNCOMMITTED(未提交读) 事务可以读取其他事务未提交的数据,称为脏读 二:READ COMMITTED(提交读) 一个事务开始时,只能"看见" ...

  7. MySQL数据库事务隔离级别(Transaction Isolation Level)

    转自: http://www.cnblogs.com/zemliu/archive/2012/06/17/2552301.html  数据库隔离级别有四种,应用<高性能mysql>一书中的 ...

  8. [转]MySQL 数据库事务隔离级别

    然后说说修改事务隔离级别的方法: 1. 全局修改,修改 mysql.ini 配置文件,在最后加上 1 #可选参数有:READ-UNCOMMITTED, READ-COMMITTED, REPEATAB ...

  9. [原创]java WEB学习笔记78:Hibernate学习之路---session概述,session缓存(hibernate 一级缓存),数据库的隔离级别,在 MySql 中设置隔离级别,在 Hibernate 中设置隔离级别

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

随机推荐

  1. 如何在一台开发机中同时配置github、gitlab等多个账户

    本文参考博文. 如果公司的代码同步环境在gitlab上,而自己有很多项目托管在github.我们需要做一些额外的配置实现两者的无缝切换. 步骤 我的开发机是macbook,如果属于不同系统,找到该系统 ...

  2. 调用Config.ini类

    private static string sPath = @Directory.GetCurrentDirectory() + "\\config.ini"; [DllImpor ...

  3. 字符串拼接出现null的问题

    最近在开发的过程中遇到这样的问题,原因是在做一个需求的时候,要求将解密的号码和前缀进行拼接.一开始在这个拼接的过程中,没有考虑到数据校验的问题,因为有可能他的前缀或者其他需要拼接的字段在前端传递的过程 ...

  4. idea将文件push之后如何回退

  5. Redis6.0.9主从搭建

    所谓主从,大家都知道主是写数据,而从是进行数据的拷贝. 1:配置 主节点 127.0.0.1 6379 从节点 127.0.0.1 6378 先将单机版的配置文件赋值两份出来,原先的配置中主要改动有: ...

  6. Spring-04 Bean的自动装配

    Spring-04 Bean的自动装配 Bean的自动装配 1.自动装配说明 自动装配是使用spring满足bean依赖的一种方法. spring会在应用上下文中为某个bean寻找其依赖的bean. ...

  7. Python3.x 基础练习题100例(11-20)

    练习11: 题目: 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 分析: 兔子的规律为数列1,1,2, ...

  8. Flask:数据库管理

    为什么不使用SQL语句,而使用ORM框架管理数据库?首先,在python程序中嵌入原生SQL语句,不方便维护,ORM框架使用面向对象思想,使用较方便:第二,如果更换底层数据库引擎,ORM框架不需要修改 ...

  9. “蚂蚁牙黑”太火,想玩就用ModelArts做一个!

    摘要:本文将介绍如何借力一站式 AI 开发平台,"傻瓜式"操作实现生成"蚂蚁牙黑"小视频. 作者:华为云EI专家胡琦 一夜之间,朋友圈都在"蚂蚁牙黑& ...

  10. Codeforces 1167c(ccpc wannafly camp day1) News Distribution 并查集模板

    题目: In some social network, there are nn users communicating with each other in mm groups of friends ...