怎么找出解析失败的sql
原创如有错误请指出本文由我和公司同事问心共同测试分析完成。很多时候我们会有这样一个误区,语法错误或者对象不存在应该在语法语义检查这个步骤就结束了,怎么还会存在共享池里面呢?带着这个几个问题我们做几个简单的测试。我们先了解下什么是解析失败的 SQL?1、SQL语法错误2、访问的对象不存在3、没有权限...
ORACLE 11.2.0.4静默安装
今天一个朋友叫安装ORACLE数据库不提供桌面,哎没办法只有静默了。下面记录一下静默的流程,很久没有手动建库了,上次还是考OCM的时候1、安装数据库软件oracle.install.responseFileVersion=oracle/install/rspfmt_dbinstall_response_schema_v11_2_0oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME...
MYSQL INNODB中hash查找表的实现
原创有误请指出:版本:5.7.14源码位置为hash0hash.h hash0hash.cc作为一种时间复杂度最优为O(1)的数据结构,但是最坏时间复杂对位O(n)的一种数据结构,但是在良好的设计hash函数的情况下性能还是非常好的。关于hash表的图在最后给出。在innodb中各种数据结构都使...
ORACLE Active dataguard 一个latch: row cache objects BUG
在Active dataguard遇到latch: row cache objects 查询如下语句select a.SAMPLE_TIME,a.SQL_ID,a.EVENT,a.P1TEXT,a.P1,a.P2TEXT,a.P2,a.P3TEXT,a.P3, b.f2 from v$active_session_history a, (select max(b.SQL_TEXT) f2,sql_id from v$sql b group by sql_id ) b where a.sql_id ...
MYSQL INNODB 中通用双向链表的实现
原创:如果有误请支持源码在Ut0lst.h中注意:这里我将链表中的实际的串联的数据叫做数据类比如:lock_t、mem_block_t链表作为一种的非常重要的数据结构,在任何地方都会用到,这里简单解释一下innodb双向链表的实现,让我们来看看innodb链表设计的魅力:经常在某些结构体中看到UT_LIST_BASE_NODE_T(mem_block_t) bas...
MYSQL INNODB replace into 死锁 及 next key lock 浅析
原创:全文带入了大量自我认知和理解,可能错误,因为水平有限,但是代表我努力分析过。一、问题提出问题是由姜大师提出的、问题如下:表:mysql> show create table c \G*************************** 1. row *************************** Table: cCreate Table: CREATE TABLE `c` (&nb...
show engine innodb status中关于锁部分内容的解释
LOCK WAIT 2 lock struct(s), heap size 1136, 1 row lock(s)MySQL thread id 4, OS thread handle 140665176164096, query id 575 localhost root updateinsert into testpri&n...
LINUX C 父进程建立多个子进程循环非堵塞回收列子
下面 代码主要用于复习,留于此点击(此处)折叠或打开/************************************************************************* > File Name: fork5.c > Author: gaopeng QQ:22389860 all right reserved > M...
MYSQL如何识别一个binlog中的一个事物
原创水平有限测试版本5.7.14设置GTID_MODE=ONON(3): Both new and replicated transactions must be GTID transactions(生成的是GTID事物,slave也只能应用GTID事物)设置binlog格式为row模式做如下操作mysql> insert into test values(1,2);Query OK, 1 row affected (0.01 sec)mysql> insert into test values(2,...
MYSQL INNODB innodb_thread_concurrency相关参数理解
原创水平有限请谅解虽然这几个参数我以前也有学习过,但是一直没有在源码级别进行证明,所以一直也没有写,但是今天群里有朋友问到,所以先按照官方手册的加上我自己的理解进行一下解释,以后一定要在源码级别进行下补充使用MYSQL版本:5.7.14OS平台: CentOS release 6.5 (Final) 64bit一、理论基础首先要理解几个...
MYSQL和INNODB分层实现
open table 的时候 当初次open table的时候会生成一个table_shared结构体 这个结构体记录很多来自frm 的信息,基本就是表的定义,我们叫他为静态缓存 换句话说这个东西整个mysql 一个接口为get_table_share然后会每个连接线程会打开这个表的时候会根据table_shared出来的信息建立一个table结构体这个结构体是动态的,每...
从源码解析ERROR 1129 (HY000)(2)以及unauthenticated user
原创 水平有限这里主要找一下m_connect是什么,以及怎么增加的,因为前文我没有找到,再次用断点的方式描述一下unauthenticated user一、m_connect是什么怎么增加的m_connect实际上就是m_handshake下面是点击(此处)折叠或打开Hostname.h void sum_connect_e...
从源码解析ERROR 1129 (HY000):Host is blocked because of many connection errors
原创水平有限今天群里一个朋友出现如下错误:ERROR 1129 (HY000): Host '10.0.0.8' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'为了找到这个问题原因,首先在源码中找到错误码点击(此处)折叠或打开{ "ER_HOST_IS_BLOCKED", 1129, "Host \'%-....
关于MYSQL 5.7 新连接建立流程源码接口(和5.6不同)
原创水平有限今天在看运维内参第三章源码的时候,发现书上很多代码入口函数和我用的5.7.14的源码对不上,然后再看了一下5.6的源码,书上写的基本都是5.6的源码(书是2015年开始写的)5.7.14在连接这一块做了相当大的改动,加了很多抽象类,变得更加复杂了。当然这也是软件模块划分的更加清晰的必然的结果,顺便说一下MYSQ...
MYSQL INNODB 如何计算B+树表的最大容量和行数
考虑表结构如下:create table testzh(id int primary key auto_increment ,id2 int,id3 int);插入数据:delimiter // create procedure ins3() begin declare i int; set i=0; while i<10000 do &...
转载 MYSQL-GroupCommit 和 2pc提交
组提交(group commit)是MYSQL处理日志的一种优化方式,主要为了解决写日志时频繁刷磁盘的问题。组提交伴随着MYSQL的发展不断优化,从最初只支持redo log 组提交,到目前5.6官方版本同时支持redo log 和binlog组提交。组提交的实现大大提高了mysql的事务处理性能,下文将以innodb 存储引擎为例,详细介绍组提交在...
二、(LINUX 线程同步) 互斥量、条件变量以及生产者消费者问题
原创转载请注明出处:在线程同步中我们经常会使用到mutex互斥量,其作用用于保护一块临界区,避免多线程并发操作对这片临界区带来的数据混乱,POSIX的互斥量是一种建议锁,因为如果不使用互斥量也可以访问共享数据,但是可能是不安全的。其原语包含:pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; 静态初...
MYSQL max_user_connections back_log max_connections参数和Max_used_connections
max_user_connections这个参数是单个用户允许连接的最大会话数量,在建立用户的时候也有类似的限制,这里仅仅说的是这个参数下面是官方文档说明:The maximum number of simultaneous connections permitted to any given MySQL user account. Avalue of 0 (the default) means “no limit.”This variable has a glo...
MYSQL中的type:index 和 Extra:Using index
原创水平有限,如有错误请指出考虑下面执行计划中的TYPE和Extra+----+-------------+--------+------------+-------+---------------+------+---------+------+------+----------+-------------+| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | ro...
(转)*Socket TIME_WAIT 问题Q&A
(转)*Socket TIME_WAIT 问题Q&Atcp/ip详解的卷1有详细介绍过tcp的相关内容,其中TIME_WAIT讲得有点晦涩,今日找到一篇不错的文章,特拿来分享一下。 netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"/t",state[key]}'会得到类似下面的结果,具体数字会有所不同:...