• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!
MySQL InnoDB锁信息阅读

MySQL InnoDB锁信息阅读

下面主要分析一下 InnoDB 加锁的详细信息,主要用于分析一条语句的详细加锁结构以及加了什么锁。 记得先打开 InnoDB monitor 中的锁详细信息输出,只在 MySQL 下有用,在 MariaDB 下不起作用。 set GLOBAL innodb_status_output_locks=ON; ……

MySQL误操作回滚工具概览

MySQL误操作回滚工具概览

目前针对MySQL误操作回滚,在市场上已经有很多工具可够选择了。大致实现思路都是根据ROW格式binlog进行回滚,基本都是支持DML操作。大致相关工具与文章下面都列出来了。 [1] 彭立勋,MySQL下实现闪回的设计思路 [2] Lixun Peng, Provide the flashback feature by binlog [3] 王广友,mysq……

数据库水平切分架构实践

数据库水平切分架构实践

单Key业务,数据库水平切分架构实践 本文将以“用户中心”为例,介绍“单KEY”类业务,随着数据量的逐步增大,数据库性能显著降低,数据库水平切分相关的架构实践: 如何来实施水平切分 水平切分后常见的问题 典型问题的优化思路及实践 一、用户中心 用户中心是一个非常常见的业务,主要提供用户注册、登录、信息查询与修改的服务,其核心元数据为: User(uid,……

MySQL表排序规则不同错误

MySQL表排序规则不同错误

MySQL多表join时报错如下:[Err]1267 – Illegal mix of collations(utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation ‘= 就是说两个表的排序规则(COLLATION)不同,无法完成比较。COLLATION是用在排……

MySQL InnoDB统计信息的收集与作用

MySQL InnoDB统计信息的收集与作用

我们知道索引可以加快查询速度,那么是不是只要是查询语句需要,就建上索引?答案是否定的。因为索引虽然加快了查询速度,但索引也是有代价的:索引文件本身要消耗存储空间,同时索引会加重插入、删除和修改记录时的负担,另外,MySQL 在运行时也要消耗资源维护索引,因此索引并不是越多越好。一般两种情况下不建议建索引。 第一种情况是表记录比较少,例如一两千条甚至只有几百条……

MySQL InnoDB联合索引学习

MySQL InnoDB联合索引学习

联合索引是指对表上的多个列进行索引,其创建方法与单个索引一样,不同之处仅在于有多个索引列。例如,以下代码创建了一张t表,并且索引idx_a_b是联合索引,联合的列为(a,b)。 create table t( a int, b int, primary key(a), key idx_a_b(a,b) ……

MySQL InnoDB磁盘I/O优化

MySQL InnoDB磁盘I/O优化

一、影响SQL执行性能因素 影响SQL执行性能的关键就在于磁盘,数据库优化大部分工作都是在做磁盘的优化,比如尽可能把随机读写转换为顺序读写、预读、加大buffer pool、优化SQL尽量无磁盘操作等。 mysql> show global status like 'i%read%'; +----------------……

MySQL主机CPU负载太高解决思路

MySQL主机CPU负载太高解决思路

首先考虑,CPU为什么会占用过高?答案是CPU很忙,那么什么会导致CPU很忙呢? 1. 频繁的上下文切换 2. 计算量巨大 3. 磁盘访问等待严重 4. 死循环 5. 等等,还有我不知道的 遵循上面的分析,可以推导,在MySQL服务器上,如果看到CPU过高,该怎么解决问题? 频繁的上下文切换包括:锁很多,等待处理的线程特别多。这种情况在MySQL服务器上该如……

MySQL索引原理及SQL优化

MySQL索引原理及SQL优化

MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少……

针对SSD的MySQL IO优化

针对SSD的MySQL IO优化

现在数据库标配基本都是SSD了,在使用SSD之前,对SSD进行了充分的测试,这其中当然包括最为关键的性能测试部分。下面就跟大家分享一下在SSD性能测试过程中遇到的一个问题和解决问题的思路。 我们的性能测试使用的测试工具是Sysbench,测试场景主要包括5类:全内存非事务更新(nontrx)、全内存事务更新(complex)、非全内存查询(select)、非……

MariaDB用户统计功能介绍

MariaDB用户统计功能介绍

一、用户统计 MariaDB 5.2.0中引入了用户统计信息,MariaDB的用户统计实现基于Percona和Ourdelta的userstatv2补丁,原始代码来自Google(Mark Callaghan的团队),还有来自Percona,Ourdelta和Weldon Whipple的额外工作。MariaDB实现提供与userstatv2补丁相同的功能,……

使用pt-duplicate-key-checker检查MySQL重复索引

使用pt-duplicate-key-checker检查MySQL重复索引

pt-duplicate-key-checker这款工具也是percona-toolkit中一款非常适用的工具,它可以帮助你检测表中重复的索引或者主键。我们知道索引会更查询带来好处,但是过量的索引反而可能会使数据库的性能降低,这款工具可以帮助我们找到重复的索引并且还会给你删除重复索引的建议语句,非常好用。 首先看我的这张表的索引结构 ……