注册 登录
  • 欢迎访问"运维那点事",推荐使用Google浏览器访问,可以扫码关注本站的"微信公众号"。
  • 如果您觉得本站对你有帮助,那么可以扫码捐助以帮助本站更好地发展。

MySQL误操作回滚工具binlog2sql

binlog2sql工具可以从MySQL binlog解析出你要的SQL,根据不同选项,你可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。 更多详细内容可以看官方文档,相关地址如下: Github地址:https://github.com/danfengcao/binlog2sql MySQL闪回原理与实战:https://github.c……继续阅读 »

彭东稳 4天前 81浏览 0评论 0个赞

数据库水平切分架构实践

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

彭东稳 2周前 (10-10) 192浏览 0评论 0个赞

MySQL索引选择性

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

彭东稳 1个月前 (09-21) 368浏览 0评论 0个赞

MySQL InnoDB联合索引讲解

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

彭东稳 1个月前 (09-11) 426浏览 0评论 0个赞

两个INSERT发生死锁原因剖析

开始之前,关于锁、死锁,我们要先统一下几点认知: 死锁是由于多个事务相互持有其他事务所需要的锁,结果导致事务都无法继续,进而触发死锁检测,其中某个事务会被回滚,释放相应的锁,其他事务得以正常继续;简言之,就是多个事务之间的锁等待产生了回路,死循环了; 死锁发生时,会立刻被检测到,并且回滚其中某个事务,而不会长时间阻塞、等待; 从MySQL 5.7.15开始……继续阅读 »

彭东稳 2个月前 (09-05) 565浏览 0评论 2个赞

优化InnoDB磁盘I/O

优化InnoDB磁盘I/O 如果你遵循数据库设计和调优技术的最佳做法,但由于磁盘I/O活动较大,你的数据库仍然很慢,请考虑这些磁盘I/O优化。如果top工具显示你的CPU使用率百分比低于70%,则你的工作负载可能是磁盘导致的。几种优化方式如下: 增加缓冲池大小 当表数据缓存在InnoDB缓冲池中时,可以通过查询重复访问,而不需要任何磁盘I/O。使用inn……继续阅读 »

彭东稳 2个月前 (09-04) 596浏览 0评论 1个赞

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

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

彭东稳 2个月前 (09-01) 455浏览 0评论 1个赞

MySQL索引原理及SQL优化

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

彭东稳 2个月前 (08-28) 587浏览 0评论 3个赞

针对SSD的MySQL IO优化

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

彭东稳 2个月前 (08-24) 577浏览 0评论 1个赞

MariaDB用户统计功能介绍

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

彭东稳 2个月前 (08-23) 485浏览 0评论 0个赞

pt-duplicate-key-checker检查数据库重复索引

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

彭东稳 2个月前 (08-23) 415浏览 0评论 0个赞