MySQL一次数据插入故障记录
某天突然收到报警,数据库大量事务等待,进到数据库后发线大量的插入操作被阻塞,且都是同一个表的。 通过 show engine innodb status 发现插入操作都是在等待索引 idx_create_time(create_time) 的 insert intention lock(跟 gap 锁互斥),由于某些原因数据库是 RR 隔离级别。 ……
某天突然收到报警,数据库大量事务等待,进到数据库后发线大量的插入操作被阻塞,且都是同一个表的。 通过 show engine innodb status 发现插入操作都是在等待索引 idx_create_time(create_time) 的 insert intention lock(跟 gap 锁互斥),由于某些原因数据库是 RR 隔离级别。 ……
fsync()、fdatasync()、sync() 是什么? 首先它们是系统调用。 fsync(int fd) 系统调用把打开的文件描述符 fd 相关的所有缓冲元数据和数据都刷新到磁盘上(non-volatile storage,非易失性存储),等待写磁盘操作结束,然后返回。 fdatasync(int fd) 类似 fsync,但不 flush 元数据……
网上有很多案例是关于 order by limit 选择错误索引的文章。但每个人遇到的情况可能不太相同,有些在新版本的 MySQL 下已经修复了,有些是优化器估计一时半会处理不了的。 案例 MySQL order by limit 走错索引(range->indexscan) MySQL · 捉虫动态 · order by limit 造成优化器选择索……
我们知道,如果我们想把多个 MySQL Master 数据汇集到同一个实例,可以选择 MySQL 5.7 提供的多源复制,就是建立多个复制通道,每个通道分别 change master 到不同的实例即可。但这里对于复制方式可以基于 position 模式,或 gitd 模式。这里并不是介绍一些关于复制的基础知识,对于 position 模式,就不说了,也比较……
比如我现在有这么一个需求,我在一个方法中一直循环探测一个服务的连接数,当连接数为0时,就继续走下面的逻辑,比如关闭服务操作,以此来做 Java 平滑发布。伪代码如下: def fun(): while True: processlist = 'netstat -anplt | wc -l' ……
这几天线上出现一个诡异的更新问题,看下面这个测试案例,主看看表结构及更新结果。 mysql> select * from t1; +------+----------------------+ | id | c | +------+----------------------……
一、Install Docker 要想让 Docker 良好运行起来,最好你的操作系统是 64 位的,内核版本不低于 3.8,所以最好直接使用 CentOS 7 系列的系统,默认内核版本就是 3.10 。当然你也可以使用 Debian 之类的系统。我这里就以 CentOS 7 为例了,具体各个系统 Docker 的相关安装方法这里不作介绍,具体安装参考官档。……
在跟网友讨论 inception 这个工具的回滚功能设计时,知道了它会根据 binlog 中的 query event 带的 thread id 来定位此次会话所执行的 SQL 语句有哪些,这是一个事务,当然定位回滚数据还需要 binlog position。而在 MySQL 中对于,如果你的 binlog 模式为 statement 格式,那么所有的 ev……
一、关于 Dockerfile 我们知道 Docker 镜像的生成方式有两种,一种是基于现有容器进行 commit 生成一个镜像,另外一种就是通过 Docker 提供的 Dockerfile 构建一个镜像。 Dockerfile 其实就是一个包含了 build image 过程中需要执行的所有命令的文本文件,这些指令就是 Dockerfile 构建时规定的一……
MySQL配置变量的设置对数据库系统的性能有重要影响,有时候预测一个变量如何影响其他变量的这个问题可能有点棘手,特别是在处理我将在本文中描述的案例时,结果不是很直观。所以在这里,我们将看看当你将innodb_open_files设置为高于open_files_limit时会发生什么? 我们可以使用以下命令设置MySQL中的最大打开文件数: ……
INSERT INTENTION LOCK,翻译为插入意向锁,锁类型为 LOCK_INSERT_INTENTION,其实准确来说应该是 INSERT INTENTION GAP LOCK,属于 GAP LOCK 子类。这个锁类型在老版本的 InnoDB 中并不存在,后来是为了优化插入性能而设计的。 INSERT INTENTION LOCK 在官方文档中的说……
Django对于日志输出的信息是很完善的,request的信息,setting配置,trackback的信息,一应俱全,足够我们调试了。但是在线上环境,如果让用户看到这些信息,是很不安全的(暴露代码)。所以在线上我们要关闭Debug,但是又不能扔掉这些调试信息,这就要用到日志了。Django使用Python内建的logging模块打印日志,但在Django中……
一、内部数据库 Search Guard 附带内部用户数据库,如果你没有任何外部身份验证系统(如 LDAP 或 Active Directory),则可以使用此用户数据库。用户信息及其散列密码和角色存储在群集内部的 Search Guard 索引中。 内部用户在 sg_internal_users.yml 文件中配置,你可以找到模板在<ES insta……
一、介绍 Elasticsearch本身没有用户及权限认证体系。虽然官方提供了自己的权限管理系统 – Shield, 但是它——收费! 所以在这里给大家介绍一款实用的开源Elasticsearch权限管理系统——Search Guard。 Shield 现在已经被 X-pack 集成,另外 X-pack 还集成了 Watcher,Marvel,G……
在使用 iview 过程中,给 card 组件添加滚动条,刚开始使用 css 中的 overflow ,发现对于 iview 不是太好用,不管超没超出范围都会有一个滚动框。后来在前端同事的帮助下,知道了这款名为完美滚动条的插件,安装和使用完美滚动条的最佳方法是使用 npm 。 $ npm install perfect-scro……
一、关于Harbor Harbor是一个企业级开源镜像仓库,也是首个加入 CNCF 且原创于中国的项目,时间于2018年8月。在2014年由VMware中国研发中心内部立项和使用,并于2016年对社区开源。Harbor 项目扎根、成长和壮大于中国社区,在 CNCF 中是唯一原生支持中文的项目,深受中国用户推崇和喜爱。 Harbor是一个用于存储和分发Dock……
一、索引与文档 索引(Index) 一个索引就是含有某些相似特性的文档的集合。例如,你可以有一个用户数据的索引,一个产品目录的索引,还有其他的有规则数据的索引。一个索引被一个名称(必须都是小写)唯一标识,并且这个名称被用于索引通过文档去执行索引,搜索,更新和删除操作。 在一个集群中,你可以根据自己的需求定义任意多的索引。 类型(Type)[Depreca……
一、Codis 3介绍 对于Redis集群方案有好多种,基本常用的就是twemproxy,codis、redis cluster这三种解决方案,本人有幸工作中都大量使用过,各有利有弊,下面这篇文章详解讲解一下豌豆尖的Codis 3。由于业务中还使用有Codis 2,所以对于Codis 2也写了一篇文章Codis 2集群搭建。Codis总体来说还算不错,仅供大……
mixins在drf中主要配合viewset共同使用,实现http方法与mixins的相关类与方法进行关联。关于viewset可以看我另外一篇博客,这里不过多介绍。 在这个viewset中,主要有5类Minxin,他们与http方法对应如下: mixins 作用 对应HTTP的请求方法 mixins.ListModelMixin 定义list方法,……
本案例在RR隔离级别下,模拟数据如下: CREATE TABLE `ty` ( `id` int(11) NOT NULL AUTO_INCREMENT, `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL, PRIMARY KEY (`id`), ……
您已发表70条评论。
日期时间 | Points | 类别 | 状态 | 描述 |
---|---|---|---|---|
2019-07-12 09:36:40 | 0 | accepted | comment_posted_5777 |
谢谢大佬,刚看到 :mrgreen:
2019-07-12 17:36:39 发表在 赞助有了group commit之后,这两个参数都设置为1,表示的就是一组事务了。以组为单位了默认。
2019-03-08 17:45:07 发表在 MySQL Group Commit你的需要验证用户名,加这个吧 593265947
2019-03-08 09:41:31 发表在 关于有QQ群,你加一下,我看一下你脚本。
2019-03-07 19:56:21 发表在 关于其实这套方案只是理论上的,我也确实测试环境跑通了。但是如果真正使用起来,问题还是蛮多的。
2019-03-07 19:52:54 发表在 关于Git主题,网上搜索即可。
2019-03-07 11:13:25 发表在 关于首先,容器重启并不会丢失数据。另外,volume的作用上面已经列出了。主要是数据共享和volume的可持续性,他们是独立于容器的。
2019-02-18 11:51:50 发表在 Docker:容器数据管理Redis没有表概念,只有数据结构
2019-01-17 19:25:27 发表在 使用innodb_ruby分析InnoDB内部结构恩,这里没有说那么详细,有一篇文章详细说了从库应用规则及数据库提供了哪些优化策略。
2019-01-11 11:19:22 发表在 MySQL从库延迟计算方式分析(Seconds_Behind_Master)满足;其他两个劣势可以,但业务安全性这个具体就要看自增了。
2018-12-14 13:23:25 发表在 为什么推荐InnoDB引擎使用自增主键?没感觉耶,我这个调了很多样式。
2018-12-04 13:10:00 发表在 关于前面不是说了吗,外键引用自己为前提,另外真使用外键时大部分都是在关联主键。
2018-11-22 20:28:28 发表在 为什么推荐InnoDB引擎使用自增主键?