事务
-
MySQL 并发 delete 后 insert 导致死锁
引言 死锁本质上是两组锁等待,因此在分析过锁等待以后,本文介绍死锁的分析方法,还是从最简单的开始,并发 delete 后 insert 导致死锁。 介绍 日常工作中死锁遇到的不少,…
-
MySQL 半同步复制导致主从延迟
引言 在 MySQL 中主从延迟是常见现象,可能的原因有很多种,比如大事务、DDL、网络延迟等,本文介绍一个案例,半同步复制导致主从延迟。首先可以考虑一个问题,半同步复制对于主从延…
-
MySQL after_sync 半同步复制主库数据落后伪装从库
引言 MySQL 中出现主从延迟是常见现象,表现为从库落后主库(从库过期读),本文介绍并复现了一个很反常的现象,表现为主库落后伪装从库(从库超前读)。文中通过分析事务的提交流程与半…
-
MySQL 基于 GTID 搭建主从复制
引言 前文MySQL 主从搭建介绍了基于传统的位点模式搭建主从复制的流程,本文介绍一个相对基础但却很重要的知识点,基于 GTID 模式搭建主从复制,并结合相关操作简单介绍 GTID…
-
MySQL 创建唯一索引会导致数据丢失吗?
引言 MySQL 中创建唯一索引是再正常不过的需求,但是有人说创建唯一索引可能导致数据丢失,是真的吗? 本文首先分别在有数据重复的前提下,验证这三种执行方式创建唯一索引时是否会导致…
-
MySQL 从库备份阻塞 DDL 后复制线程被 kill 导致复制中断
引言 MySQL 出现元数据锁等待属于高危现象,为降低风险,DBA维护了定时任务用于扫描并自动 kill 发生元数据锁等待的 SQL,但由于扫描 SQL 的过滤条件不够完善可能导致…
-
MySQL 并发 insert on duplicate 导致间隙锁与插入意向锁形成死锁
引言 insert on duplicate 语句支持 insert 与 update 两种功能,但加锁规则与 insert 和 update 并不同。 本文介绍最简单的案例,并发…
-
MySQL delete + insert 导致二级唯一索引申请两组 next-key lock 原因分析
引言 本文主要参考网易数据库团队分析 RC 级别下并发 insert 锁超时问题的思路,通过 GDB 调试结合源码分析 delete + insert 导致二级唯一索引申请两组 n…
-
MySQL update 语句加锁分析
引言 本文测试并基于源码分析 update 语句在以下场景下的加锁流程: 根据主键更新普通字段(其中普通字段指没有索引的字段) 根据唯一键更新普通字段(其中唯一键指二级唯一索引) …
-
MySQL 加索引后 SQL 执行变慢
引言 第一次遇到加索引后 SQL 执行变慢的现象,尽管这个索引是用于优化另一条 SQL 所创建。 经确认根本原因是关联算法发生变化,从 Block Nested-Loop Join…
-
MySQL配置主从复制,主主复制
1.配置主服务器 1.1配置主服务器的 my.cnf 添加以下内容 [mysqld]## 同一局域网内注意要唯一server-id=1## 开启二进制日志功能,…
-
这是你所了解的Nginx吗?
Nginx概念 Nginx 是一款面向性能设计的 HTTP 服务器,相较于 Apache、lighttpd 具有占有内存少,稳定性高等优势,同时也是一个非常高效的反向代理、负载平衡…
-
JDBC操作事务
JDBC操作事务 事务 事务的ACID 原子性 指事务是一个不可分割的单位,事务中的操作要么都发生,要么都不发生 一致性 事务必须使数据库从一个一致性状态变…
-
【Redis 系列】redis 学习六,redis 事务处理和监控事务
redis 事务处理和监控事务 写在前面 我们学过的事务都是保证原子性的,但是 redis 的事务中执行多个指令,是不保证原子性的 redis 事务的本质 就是一组命令的集合,一个…
-
【Redis 系列】redis 学习十六,redis 字典(map) 及其核心编码结构
redis 字典(map) 及其核心编码结构 redis 是使用 C 语言编写的,但是 C 语言是没有字典这个数据结构的,因此 C 语言自己使用结构体来自定义一个字典结构 type…
-
mongodb 内存引擎及配置
上次我们分享到了 wiredTiger 引擎以及他对于以前默认的 MMAPV1 引擎的优势 关于 wiredTiger 引擎 配置这里补充一下: storage:jou…