摘要:问题背景: 客户反馈系统性能存在严重问题,需要协助排查 排查发现系统有大量锁持有资源时间过长 临时手工KILL产生死锁源头的会话, 协助排查死锁产生的原因发现,业务提交至此节点,项目二开嵌套了一个其他事务导致死锁频发。 死锁产生的原因: ①会话A,update 1 nocommit ②会话B,upd
阅读全文
摘要:双主+keepalived+haproxy配置(负载均衡) 实验系统:CentOS 6.5_x86_64实验前提:防火墙和selinux都关闭实验软件:keepalived-1.2.13 haproxy-1.8.13 mysql—5.7.21主1 ip:192.168.226.134主2 ip:19
阅读全文
摘要:5.哪个SQL返回的结果集最多(net消耗)SELECT SCHEMA_NAME,DIGEST_TEXT,COUNT_STAR,SUM_ROWS_SENT,SUM_ROWS_SENT,FIRST_SEEN,LAST_SEENFROM performance_schema.events_stateme
阅读全文
摘要:1.查看哪些sql执行最多SELECT SCHEMA_NAME,DIGEST_TEXT,COUNT_STAR,SUM_ROWS_SENT,SUM_ROWS_EXAMINED,FIRST_SEEN,LAST_SEENFROM performance_schema.events_statements_s
阅读全文
摘要:二叉树:二叉树(Binary Tree)是指至多只有两个子节点的树形数据结构,没有父节点的节点为根节点,没有子节点的节点称为叶子节点。二叉搜索树就是任何节点的左子节点小于当前节点键值,右子节点大于当前节点键值。如下图的二叉搜索树,我们最多只需要⌈ l o g ( n ) ⌉ ⌈log(n)⌉⌈log
阅读全文
摘要:遇到MySQL中on duplicate key update语句返回值不正确: 在server5.1.*的返回分别为insert=1,update=3,nochange=2 在server5.5.*的返回分别为insert=1,update=2,nochange=1 应返回:insert=1,up
阅读全文
摘要:NoSQL 数据库和传统关系型数据库到底有什么区别? 不论是讲传统关系型数据库还是NoSQL 数据库的资料都会提到两者的区别,长篇大论就不写了,从实用角度就写几点: 1、关系型用sql,nosql不用sql 2、关系型数据在表中,nosql基本非结构化 3、ACID与BASE的区别 4、持久化or非
阅读全文
摘要:需求背景: 随着业务的增长、对运维效率和质量的要求不断提高,对自动化运维体系的需求也不断增强。 目前笔者服务的很多中大型企业客户,运维其实还停留在“刀耕火种”的原始状态。 这里所说的“刀”和“火”就是运维人员的远程客户端,例如 xshell 和Windows 远程桌面。 这种工作模式有很多局限性,
阅读全文
摘要:问题背景: 一、客户环境连续多次出现性能问题,系统登入异常,数据库CPU告警。 处理过程: 1>协助排查数据库性能问题时发现如下两个较频繁的SQL导致严重的性能问题(均使用了视图合并多表数据): 1 1. SELECT nodename FROM view_name1 WHERE id = xxx;
阅读全文
摘要:基于mysql的SQLadvisor工具一次优化尝试 使用方式: 1 1> [root@SQLAdvisor ~]# getenforce 2 Disabled 3 安装SQLAdvisor 4 [root@SQLAdvisor ~]# yum -y install cmake libaio-dev
阅读全文
摘要:分析SQL执行带来的开销是优化SQL的重要手段。在MySQL数据库中,可以通过配置profiling参数来启用SQL剖析。该参数可以在全局和session级别来设置。对于全局级别则作用于整个MySQL实例,而session级别紧影响当前session。该参数开启后,后续执行的SQL语句都将记录其资源
阅读全文
摘要:常用参数 1 –concurrency #代表并发数量,多个可以用逗号隔开。例如:–concurrency=50,200,500 2 –engines #代表要测试的引擎,可以有多个,用分隔符隔开。例如:–engines=myisam,innodb,memory 3 –iterations #代表要
阅读全文
摘要:问题背景: 客户反馈slave每到凌晨就出现延迟现象,需要排查原因 1>首先查看master库每天凌晨有什么操作: 分析binlog日志 1 mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000204 > mys
阅读全文
摘要:一、简介pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog、General log、slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析。可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行参
阅读全文
摘要:1> MySQL的binlog 日志对于生产环境非常有用,任何时间对数据库的修改都会记录在binglog中;当数据发生增删改,创建数据库对象都会记录到binlog中,数据库的复制也是基于binlog进行同步数据;和SQL SERVER 数据库开启完整模式的原理一样,每一次的数据的变动都会记录在案;(
阅读全文
摘要:1> pt-index-usage:从慢查询日志中读取查询并分析它们如何使用索引。 (用来查找不常使用索引) ./pt-index-usage --help 打印报告 1 ./pt-index-usage /mysqldata/mysqlslowlog/slowquery.log -h192.168
阅读全文
摘要:MySQL安装后的设置和测试(参考MySQL官方文档) 本文讨论安装MySQL后应执行的任务:如有必要,初始化数据目录并创建MySQL授权表。对于某些MySQL安装方式,以下安装方式可以自动进行数据目录初始化:1、由MySQL安装程序执行的Windows安装操作。2、使用Oracle的服务器RPM或
阅读全文
摘要:介绍升级MySQL安装的步骤。 升级是一个常见的过程,因为可以在同一个MySQL版本系列中修复错误,或者在主要MySQL版本之间修复重要功能。 可以首先在一些测试系统上执行此过程,以确保一切正常工作,然后在生产系统上执行此过程。 注意 在下面的讨论中,必须使用具有管理权限的MySQL帐户运行的MyS
阅读全文