首页 > 数据库 >怎么修改mysql的隔离级别

怎么修改mysql的隔离级别

时间:2022-11-11 18:00:09浏览次数:58  
标签:事务 读取 Read mysql 级别 隔离

原文网址:https://m.php.cn/article/486717.html

修改mysql隔离级别的方法:1、找到“skip-external-locking”;2、添加“transaction-isolation = READ-COMMITTED”内容;3、重启mysql服务。

 

php入门到就业线上直播课:进入学习

 

本文操作环境:Windows7系统、mysql5.5版、Dell G3电脑。

怎么修改mysql的隔离级别?

MySQL的事务的隔离级别以及修改方式

修改Mysql的事务隔离级别:

1

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

在位置:

1

2

lc-messages-dir = /usr/share/mysql

skip-external-locking

后面添加(读取提交内容):

1

transaction-isolation = READ-COMMITTED

保存后重启mysql服务:

1

sudo service mysql restart

 

SQL的4种隔离级别

Read Uncommitted(读取未提交内容)

在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)。

Read Committed(读取提交内容)

这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)。它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变。这种隔离级别 也支持所谓的不可重复读(Nonrepeatable Read),因为同一事务的其他实例在该实例处理其间可能会有新的commit,所以同一select可能返回不同结果。

Repeatable Read(可重读)(Mysql默认为此项:REPEATABLE-READ)

这是MySQL的默认事务隔离级别,它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行。不过理论上,这会导致另一个棘手的问题:幻读 (Phantom Read)。简单的说,幻读指当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影” 行。InnoDB和Falcon存储引擎通过多版本并发控制(MVCC,Multiversion Concurrency Control)机制解决了该问题。

Serializable(可串行化)

这是最高的隔离级别,它通过强制事务排序,使之不可能相互冲突,从而解决幻读问题。简言之,它是在每个读的数据行上加上共享锁。在这个级别,可能导致大量的超时现象和锁竞争。

 

读取的是同一个数据时, 容易发生的问题有:

脏读(Drity Read):某个事务已更新一份数据,另一个事务在此时读取了同一份数据,由于某些原因,前一个RollBack了操作,则后一个事务所读取的数据就会是不正确的。

不可重复读(Non-repeatable read):在一个事务的两次查询之中数据不一致,这可能是两次查询过程中间插入了一个事务更新的原有的数据。

幻读(Phantom Read):在一个事务的两次查询中数据笔数不一致,例如有一个事务查询了几列(Row)数据,而另一个事务却在此时插入了新的几列数据,先前的事务在接下来的查询中,就会发现有几列数据是它先前所没有的。

# !

django2.X后,自主更改框架与mysql会话的事务等级为READ-COMMITTED(读取提交内容), 如要求级别如此, 则不需要更改.

推荐学习:《mysql视频教程

以上就是怎么修改mysql的隔离级别的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系[email protected]核实处理。

千万级数据并发解决方案(理论+实战):点击学习

Mysql单表千万级数据量的查询优化与性能分析

Mysql主从原理及其在高并发系统中的应用

标签:事务,读取,Read,mysql,级别,隔离
From: https://www.cnblogs.com/bruce1992/p/16881322.html

相关文章

  • mysql条件统计的几种方式
    1.SELECTSELECT(SELECTCOUNT(1)FROM`staff_info`WHERE`user_type`=0)AS`a`,(SELECTCOUNT(1)FROM`staff_info`WHERE`user_t......
  • MySQL的配置参数(转)
      MySQL的优化熟悉Oracle优化的人都知道Oracle的重要优化对象就是SGA区,其实MySQL也是一样的.MySQL的参数配置在my.cnf文件中。[注]。mysql的配置大部分在my.cnf中,参数和......
  • mysql-canal-kafka-kettle 数据实时同步链部署bug 填坑过程
     1,因为mysql版本从5.7提高到8.0 ,需要更改用户配置。createuser'canal'@'%'identifiedby'canal';grantselect,replicationslave,replicationclienton......
  • MySQL空间函数ST_Distance_Sphere()的使用
    参考:https://blog.csdn.net/qq_19674263/article/details/104405987#:~:text=MySQL空间函数ST_Distance_Sphere(g1%2Cg2,radius]):返回球体上两个点和%2F或多点之间的......
  • mysql随机取数据优化
    参考:https://blog.csdn.net/u011870280/article/details/87809570mysql表中随机取三条数据。本来是打算用:`select*fromtableorderbyrand()limit3`结果40W......
  • CentOS7 安装mysql8
    1、下载并解压mysql安装包https://downloads.mysql.com/archives/community/  放到服务器后解压-C放到指定文件夹tar-xvfmysql-8.0.30-linux-glibc2.12-x86......
  • MySql - 基础学习 - JDBC
    一.为什么要学习JDBCSUM公司为了简化开发人员的操作(对数据库的统一),提供了一个规范(Java操作数据库的规范),俗称:JDBC这些规范的实现是由厂商们去做~对于开发人员来说,我们只......
  • MySQL慢查询(中):正确的处理姿势,你get到了吗?
    正文共: 5156字 6图  预计阅读时间: 13分钟上篇回顾继上篇:​​MySQL慢查询(上):你知道为啥会慢么?​​在上一篇内容中,我们一起探索了这些内容:SQL执行过程查询SQL为什么会慢......
  • Mysql详解
    Mysql的介绍【1】MySQL是一个轻量级关系型数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,就增加了速度并提高了灵活性。【2】sql语言分类:名......
  • feign的日志级别
     添加注解@FeignClient(name="user-center",configuration=UserCenterFeignConfiguration.class)创建类   添加配置logging:  level:    #fei......