近期写了不少InnoDB锁相关的文章,不少小伙伴问,如何在MySQL终端模拟并发事务,如何复现之前文章中的案例。今天,咱们一起动起手来,模拟并发事务的互斥与死锁。【事前准备】安装MySQL服务端安装MySQL客户端安装能够模拟多个并发事务的终端画外音:楼主使用的是MySQL5.6,官方客户端mysql,模拟并发终端用的SecureCRT。【配置的确认与修改】要测试InnoDB的锁互斥,以及死锁,有
分类:
数据库 时间:
2020-11-17 12:07:49
阅读次数:
11
昨天挖了一个坑《InnoDB的快照读,到底和什么相关?》,今天来填坑。为了保证文章知识体系的完整性,先简单解释下快照读,读提交,可重复读。快照读(SnapshotRead)MySQL数据库,InnoDB存储引擎,为了提高并发,使用MVCC机制,在并发事务时,通过读取数据行的历史数据版本,不加锁,来提高并发的一种不加锁一致性读(ConsistentNonlockingRead)。读提交(ReadCo
分类:
数据库 时间:
2020-11-17 12:07:32
阅读次数:
8
事务ACID特性,其中I代表隔离性(Isolation)。什么是事务的隔离性?隔离性是指,多个用户的并发事务访问同一个数据库时,一个用户的事务不应该被其他用户的事务干扰,多个并发事务之间要相互隔离。一个事务怎么会干扰其他事务呢?咱们举例子来说明,假设有InnoDB表:t(idPK,name);表中有三条记录:1,shenjian2,zhangsan3,lisicase1事务A,先执行,处于未提交的
分类:
数据库 时间:
2020-11-17 12:05:39
阅读次数:
10
《数据库索引,到底是什么做的?》介绍了B+树,它是一种非常适合用来做数据库索引的数据结构:(1)很适合磁盘存储,能够充分利用局部性原理,磁盘预读;(2)很低的树高度,能够存储大量数据;(3)索引本身占用的内存很小;(4)能够很好的支持单点查询,范围查询,有序性查询;数据库的索引分为主键索引(PrimaryInkex)与普通索引(SecondaryIndex)。InnoDB和MyISAM是怎么利用B
分类:
数据库 时间:
2020-11-17 12:04:36
阅读次数:
11
MySQL的InnoDB的细粒度行锁,是它最吸引人的特性之一。但是,如《InnoDB,5项最佳实践》所述,如果查询没有命中索引,也将退化为表锁。InnoDB的细粒度锁,是实现在索引记录上的。一,InnoDB的索引InnoDB的索引有两类索引,聚集索引(ClusteredIndex)与普通索引(SecondaryIndex)。InnoDB的每一个表都会有聚集索引:(1)如果表定义了PK,则PK就是聚
分类:
数据库 时间:
2020-11-17 12:04:17
阅读次数:
11
cisco和华三交换机连接,由于生成树协议的差别,不太容易连接,所以写下来标记一下。生产环境交换机连接有两种(可能还有别种)方式,一种是trunk,一种是access这里只讲access,运维上越简单越直接我感觉越好,哈哈哈例子cisco2960,h3cE528(5120,5130)也都行,因为我是把华三交换机当傻瓜去配的cisco2960通过G0/2连接H3C的G1/0/25,G0/1接的是别的
分类:
数据库 时间:
2020-11-17 12:04:01
阅读次数:
8
《挖坑,InnoDB的七种锁》初步说明了InnoDB中,会使用七种不同类型的锁,今天就介绍其中的第一种,自增锁(Auto-incLocks)。一,案例说明MySQL,InnoDB,默认的隔离级别(RR),假设有数据表:t(idAUTO_INCREMENT,name);数据表中有数据:1,shenjian2,zhangsan3,lisi事务A先执行,还未提交:insertintot(name)val
分类:
数据库 时间:
2020-11-17 12:03:43
阅读次数:
13
Case1MySQL,InnoDB,默认的隔离级别(RR),假设有数据表:t(idPK,name);数据表中有数据:10,shenjian20,zhangsan30,lisi事务A先执行,还未提交:insertintotvalues(11,xxx);事务B后执行:insertintotvalues(12,ooo);问:事务B会不会被阻塞?Case2MySQL,InnoDB,默认的隔离级别(RR),
分类:
数据库 时间:
2020-11-17 12:03:25
阅读次数:
13
MySQL5.6,应该实现在最流行的版本吧?很遗憾有一些功能一直没有,例如:哈希索引T-tree索引原生高可用auto-sharding...画外音:你最希望看到支持什么特性?但,5.6版本中,InnoDB有些有意思的特性,或许是大伙还不清楚的。从这个版本开始,可以支持全文索引了。altertable可以不拷贝表了,且不阻塞写操作,onlineDDL,酷炫吧。画外音:并不是所有的altertabl
分类:
数据库 时间:
2020-11-17 12:03:10
阅读次数:
10
《InnoDB行锁,如何锁住一条不存在的记录?》埋了一个坑,没想到评论反响剧烈,大家都希望深挖下去。原计划写写InnoDB的锁结束这个case,既然呼声这么高,干脆全盘系统性的写写InnoDB的并发控制,锁,事务模型好了。体系相对宏大,一篇肯定写不完,容我娓娓道来,通俗地说清楚来龙去脉。一、并发控制为啥要进行并发控制?并发的任务对同一个临界资源进行操作,如果不采取措施,可能导致不一致,故必须进行并
分类:
数据库 时间:
2020-11-17 12:02:54
阅读次数:
12
《InnoDB,5项最佳实践,知其所以然?》发布后,不少同学留言希望讲讲MySQL的InnoDB行锁机制。要细聊MySQL的行锁,难以避免的要从事务的四种隔离级别说起。四种隔离级别,又脱不开聊读脏,不可重复读,读幻象等问题。事务隔离级别,行锁机制等都比较垂直,应用开发中大部分同学都用不到,不确定是否大部分朋友都感兴趣。今天,先抛出一个问题,如果大家确定对这类话题感兴趣的话,后续我花时间细聊这一系列
分类:
数据库 时间:
2020-11-17 12:02:33
阅读次数:
10
缓存讲了一个月《缓存架构,一篇足够》。今天,开始写数据库。第一篇,说说MySQL两个最常用的存储引擎,MyISAM和InnoDB。照自己的理解,把一些知识点总结出来,不只说知识点,多讲“为什么”。一、关于count(*)知识点:MyISAM会直接存储总行数,InnoDB则不会,需要按行扫描。潜台词是,对于selectcount(*)fromt;如果数据量大,MyISAM会瞬间返回,而InnoDB则
分类:
数据库 时间:
2020-11-17 12:02:15
阅读次数:
8
本文主要介绍使用GoogleAPI服务账号和GoogleAdmin管理Gsuit内所有网域用户。主要技术点在GoogleAPI服务账号申请GoogleOAuth2.0认证获取tokenGoogleAdmin内对API应用授权@TOC一、GoogleAPI服务账号申请1、注册GoogleCloudPlatform平台访问https://console.developers.google.com初次使
在AD管理中,有了Dsquery查询可以为工作省去很多麻烦。Dsquery可以按照指定的条件查询ActiveDirectory。下列每个dsquery命令都查找指定对象类型的对象,dsquery*可以查询任何对象类型。dsquerycomputerdsquerycontactdsquerygroupdsqueryoudsquerysitedsqueryserverdsqueryuserdsquer
分类:
其他好文 时间:
2020-11-17 12:01:43
阅读次数:
3
本文主要介绍,如何通过企业微信API向AD域账号即将过期的用户推送消息,以提醒用户尽快修改密码。主要涉及技术点:1、AD域控制器Dsquery命令2、认识企业微信用户信息JSON数据结构3、PythonJSON数据结构解释和取值4、Python字典数据结构赋值取值4、企业微信消息推送API接口的使用@TOC一、获取密码即将过期的AD与账号1、先决条件首先,你需要部署一台AD域控制器。dsquery
分类:
微信 时间:
2020-11-17 12:01:26
阅读次数:
32
本文介绍如何使PRTG监控系统通过阿里云监控API获取阿里云产品监控数据。例如网络带宽,ECS性能,RDS产品性能等。本文主要涉及的技术点:1、PRTG监控系统高级自定义传感器的使用2、PRTG高级自定义传感器xml或json返回值格式3、阿里云CMS云监控API的使用本文涉及的示例Github地址Github/ytlzq0228/Public_Share_Project/PRTGCustomer
Linuxawk命令AWK是一种处理文本文件的语言,是一个强大的文本分析工具。之所以叫AWK是因为其取了三位创始人AlfredAho,PeterWeinberger,和BrianKernighan的FamilyName的首字符。语法awk[选项参数]‘script‘var=valuefile(s)或awk[选项参数]-fscriptfilevar=valuefile(s)选项参数说明:-Ffsor
分类:
系统相关 时间:
2020-11-17 12:00:40
阅读次数:
18