四:GTID中的运维(笔记)
一、ONGOING_ANONYMOUS_TRANSACTION_COUNT主库 生成GTID: 这下面可以调用匿名+1 (gdb) bt #0 Gtid_state::generate_automatic_gtid (this=0x308ab20, thd=0x7ffe7c000b70, specified_sidno=0, specified_gno=0, locked_sidno=0x7
MySQL:简单记录删除binary log的接口
一、栈帧#0 my_delete (name=0x7ffff0fa0490 "./binlog.000005", MyFlags=0) at /root/softm/percona-server-5.7.22-22/mysys/my_delete.c:25#1 0x0000000001
MySQL:简单记录character_set_server影响参数
Waiting for global read lock:由于flush table with read lock调用函数lock_global_read_lock导致DML操作堵塞。Waiting for commit lock :由于flush table with read lock 调用函数make_global_read_lock_block_commit导致事务不能提交现象堵塞COMM
MySQL:简单记录一下Waiting for commit lock
今天有个朋友问源码处哪里控制了sql_safe_updates的逻辑,源码如下:bool multi_delete_precheck(THD *thd, TABLE_LIST *tables) { SELECT_LEX *select_lex= thd->lex->select_lex; &nbs
MySQL:sql_safe_updates生效点
今天有个朋友问源码处哪里控制了sql_safe_updates的逻辑,源码如下:bool multi_delete_precheck(THD *thd, TABLE_LIST *tables) { SELECT_LEX *select_lex= thd->lex->select_lex; &nbs
MySQL:begin后事务为什么不提交
今天顺便看了一下,主要流程就是跟踪为什么begin后事物不会提交,最后发现在:MYSQL_BIN_LOG::commit 函数中包含这个判断if (!cache_mngr->trx_cache.is_binlog_empty() && ending_trans(thd, a
手动注册binlog文件造成主从异常
一、问题来源有一个朋友@水米田 问我,基于POSITION的主从。他做了如下的操作将备份的一些binlog文件加入到了目录中修改index文件,加入了这些binlog文件flush binary logs然后整个主从环境大量延迟。二、朋友的测试下面是另外一个朋友@徐晨亮的测试:master上: (root:db1@xucl:10:30:22)[(none)]> show 
MySQL:简单记录performance_schema.threads中的3种线程ID各自的含义
简单记录如下线面3种ID到底什么意思,这个问题我一直没去看:(root@localhost)[05:47:31] [performance_schema ;]> select THREAD_ID,PROCESSLIST_ID,THREAD_OS_ID from performance_schema.threads &nbs
Innodb:Undo 表空间巨大
这是一个朋友问我的,简单记录一下一、问题我用的5.7的Mysql undo清理参数已经打开了。为什么undo tablespace没有清理。image.png二、分析这种问题应该是有大查询的存在,朋友干掉了大查询后,undo 依然没有清理。------------ TRANSACTIONS ------------ Trx id counter 33083158
Innodb: 自动开启打印show engine status到err日志
这个问题是一个朋友问我的@刘加奇一、问题描述为什么我的err日志里面有大量的show engine innodb status的记录,我自己并没有开启innodb_status_output参数。二、问题分析通过查看日志,发现如下输出:2019-03-21T17:00:02.375231Z 1230497 [Warning] InnoDB: Difficul
MySQL:COUNT(*) profile optimizing阶段慢
简单记录一下,以供后面分析一、问题一个朋友@问心问我为什么在optimizing 阶段会慢mysql> show profiles; +----------+------------+----------------------------------------+| Query_ID | Duration  
Innodb:为什么lock in share mode在show engine看不到行锁信息
水平有限 有误请指出版本:Percona MySQL 5.7.22对于锁的学习我做了一些输出详细参考如下:https://github.com/gaopengcarl/percona-server-locks-detail-5.7.22.git其中有readme一、问题提出不知道有没有朋友和我一样用lock in share mode做加锁实验,但是却在show engine innodb sta
MySQL:Innodb表 Data free 的计算概要
简单记录一下,因为看了一下Data free的计算还算准确。不是统计值大概是空闲extent的大小。ST_FIELD_INFO tables_fields_info[]= {... {"DATA_FREE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0
MySQL:RR分析死锁一列
水平有限 有误请指出版本:Percona MySQL 5.7.22对于锁的学习我做了一些输出详细参考如下:https://github.com/gaopengcarl/percona-server-locks-detail-5.7.22.git其中有readme本文也是一个朋友问我死锁问题。@越前一、问题提出如下构造方式,问为什么RC模式下不会死锁,RR模式下死锁。drop table&
MySQL:参数wait_timeout和interactive_timeout以及空闲超时的实现
水平有限,如果有误请指出源码版本:percona 5.7.22一、参数意思这里简单解释一下两个参数含义如下:interactive_timeout:The number of seconds the server waits for activity on an interactive connection before closingit. An interactive client is de
Innodb undo之 undo结构简析
水平有限,如果有误请指出参考:阿里内核月报姜老师的MySQL内核:innodb存储引擎做一个简单的记录,自己备用一、大体结构rollback segments(128)undo segments(1024)undo log (header insert/modify 分开的) <-> undo pageundo recordundo record作为undo segments的第一个u
MySQL: kill 会话的实现原理
原创水平有限,有误请指出。仅仅作为学习参考和学习笔记。源码版本 5.7.22只研究了kill connection的情况。最近看了丁奇老师的mysql课程中 kill session的部分,在平时的工作的做,我们也经常用kill 命令进行杀掉某些会话,偶尔也会出现状态还是killed的情况,不由得感觉需要研究一下kill 会话的是如何实现的。刚好丁奇老师的这段提供了理论基础。一、简单的过程梳理和列
Innodb undo之 undo物理结构的初始化
水平有限,如果有误请指出。一直以来未对Innodb 的undo进行好好的学习,最近刚好有点时间准备学习一下,通过阿里内核月报和自己看代码的综合总结一下。本文环境:代码版本 percona 5.7.22参数 innodb_undo_tablespaces = 4 及使用了4个undo tablespace参数 innodb_rollback_segments = 128本文描述使用如上参数的设置。一