I'm lovin' it

thinking&doing

再议Seconds_Behind_Master

两年前就写过一篇文章解释Seconds_Behind_Master代表的含义以及它为什么不准确,今天同事高老师又提了一个有趣的问题:Seconds_Behind_Master到底是怎么计算的呢?高老师还特地去翻了一下源码来解释,我发现我之前的理解还是有出入的,于是自己也动手去翻了一下源码,下面就来...

2015-06-19 11:35:44

阅读数:1198

评论数:0

MySQL filesort优化案例一则

今天遇到一个filesort优化的案例,感觉不错,分享出来。         MySQL中filesort是什么意思?官方手册定义:         MySQL must do an extra pass to find out how to retrieve the rows in sorted...

2013-09-09 21:33:55

阅读数:2350

评论数:0

浅析innodb_support_xa与innodb_flush_log_at_trx_commit

很久以前对innodb_support_xa存在一点误解,当初一直认为innodb_support_xa只控制外部xa事务,内部的xa事务是mysql内部进行控制,无法人为干预(这里说的内部xa事务主要是指binlog与innodb的redo log保持一致性所采用的内部xa事务)。直到前阵子在微...

2013-06-20 21:06:47

阅读数:4444

评论数:1

一点关于MySQL参数delay_key_write、myisam_recover_options的使用经验

最近在做数据库实例迁移的时候遇到了几个比较诡异的问题: MyISAM实例正常shutdown后rsync数据文件到另外一台机器上起实例后,访问表时提示表自动修复失败需要repair table。提示信息:Table './test/record_03' is marked as crashe...

2013-05-03 23:10:46

阅读数:1697

评论数:2

MySQL limit与order by遇到的有趣问题

相信大家都知道MySQL的limit语法 select/delete/update .... limit start, len; 目的是限制查询或者更新几条数据。当然我们需要知道如果是更新语句带了limit,那么为了复制安全我们应该有 order by 主键/唯一键的语法,否则更新的行就不确定了。...

2013-04-22 20:26:46

阅读数:1732

评论数:0

MySQL Replication常见错误整理[持续更新...]

这篇文章旨在记录MySQL Replication的常见错误,包括自己工作中遇到的与网友在工作中遇到的,方面自己及别人以后进行查找。每个案例都是通过Last_IO_Errno/Last_IO_Error或者Last_SQL_Errno/Last_SQL_Error给出错误关键信息,所以以后查找时只...

2013-03-16 16:38:03

阅读数:3137

评论数:0

使用tmpfs文件系统做MySQL tmpdir潜在的问题

在前面我写过一篇关于tmpfs和ramfs对比分析的文章。当初也是因为看到有人用/dev/shm(tmpfs)做MySQL tmpdir,于是就去学习了下tmpfs。今天再次谈这个问题是因为使用tmpfs做MySQL tmpdir(以后简称tmpdir)确实还是存在一些问题的,而且在某些特定的Li...

2013-03-10 21:45:18

阅读数:2237

评论数:0

概谈“应用反应某些操作或查询慢”的处理方法(从MySQL DBA角度)

作为一个运维人员或多或少都会从应用开发那边得到类似“为什么用户反应很多操作慢?或者为什么我这里统计的日志里面出现了较多的查询较慢?”。那么遇到此问题我们该怎么来解决呢?我今天就利用自己的工作经验从MySQL DBA的角度来简单分析一下这个问题。         首先我们得区分这种查询慢或者操作慢...

2013-01-14 15:44:14

阅读数:5964

评论数:4

MySQL slave状态之Seconds_Behind_Master

在MySQL的主从环境中,我们可以通过在slave上执行show slave status来查看slave的一些状态信息,其中有一个比较重要的参数Seconds_Behind_Master。那么你是否明白它的真正含义以及它是怎么计算的呢?         在之前我一直误以为Seconds_Beh...

2013-01-11 21:17:35

阅读数:10400

评论数:1

Sysbench介绍与使用

最近用sysbench进行了较多的性能测试,也总结一下它的特点和用法和需要注意的事项。sysbench是一个多线程性能测试工具,可以进行CPU/内存/IO/数据库等性能测试。不过我绝大多数的时候都是用它来对数据库(MySQL)进行oltp测试。它能测哪些东西,怎么测让我从它的命令帮助来回答。 ...

2012-11-28 22:39:22

阅读数:3049

评论数:0

TokuDB6.5与InnoDB(1.1.18)性能对比测试

大家对MySQL存储引擎最熟悉的恐怕就是InnoDB了,InnoDB的性能还算不错,尤其适用互联网应用。但是InnoDB也不能称作完美,尤其是单实例MySQL的性能那还真不敢恭维,现在大多数互联网公司都是通过优秀的架构来弥补这点吧。今天说到的这个MySQL存储引擎单实例性能在特定情况下确实比Inn...

2012-11-27 23:43:57

阅读数:2573

评论数:0

一个InnoDB 加锁的案例

最近一直在优化各个产品的SQL语句,同时还帮一个同事解决deadlock问题,收获就是对InnoDB加锁的理解更加深入了。先来看看今天的这个案例: mysql> select version(); +----------------------+ | version() ...

2012-11-05 23:02:43

阅读数:2033

评论数:5

淘宝物流MySQL slave复制数据丢失问题的个人整理

对于这几天微博上较火的关于淘宝物流MySQL slave复制数据丢失问题,我自己也比较关注,然后根据沃趣科技的一篇分析文章算是大概明白了其中的明细,现在再来根据我自己的理解理一下思路,顺便加深自己的理解。         简单的说这个问题的来由是这样的:主库的一些DML语句在从库上没执行。那么遇...

2012-11-01 00:57:38

阅读数:4986

评论数:2

一点关于Linux mv/rm命令的“有趣事“

今天要说的mv/rm这两个命令的“趣事”是再使用mysql时遇到的。我先将问题贴出来,你也先思考一下,看看你的答案是什么。         环境:mysql5.5,innodb_file_per_table=1         问题:一个mysql实例在跑,数据库里面新创建一张表t1(因为是独...

2012-09-24 20:36:41

阅读数:1988

评论数:1

浅析Innodb crash recovery

今天想谈谈Innodb crash recovery是因为工作中遇到的两个问题涉及到了它。实际上在何登成的博客也从源码角度分析这个过程,但是个人感觉一般人难得理解,事实上一般的DBA也没有必要做那么深入的研究。言归正传,当初工作中遇到的问题是什么呢?第一,一个同事执行一个大表操作,结果就很长时间没...

2012-09-10 22:06:57

阅读数:2272

评论数:0

对MySQL load data infile的一点想法

今天无意和同事讨论MySQL load data infile的问题,这个问题是由开发那边引起的:他们竟然对一个4千万行的数据直接load data infile插入测试库,结果可想而知,出问题了。跑了一整晚都没跑完,基本上是卡死了【注释1】。原因可能是原表索引太多,导致速度巨慢。于是做了一个实验...

2012-09-05 20:10:46

阅读数:5575

评论数:2

预分配mysql binlog文件存储空间有可能较大幅度提升性能

最近已经看到两篇文章说通过预分配mysql binlog文件存储空间(类似于innodb redo log一样)可能比较大幅度的提升性能。而提升性能最本质的原因在于:在linux中覆盖写(overwriting)比附加写(appending)速度要快很多。 记录一下,说不定哪天在某个版本里面就被...

2012-08-29 20:29:38

阅读数:1360

评论数:0

MySQL对性能较为强劲的服务器利用率测试

前面一篇文章记录的MySQL 5.5对多核cpu的利用率,点击这里。其实当初测试的主要目的是今天所说的:一台性能较强劲的服务器,跑多个实例对整机的利用率大概会怎么样呢?         测试的机器是DELL R720XD,24核cpu,96G内存,挂了24个SAS盘。测试之前对这24个盘做了2个...

2012-08-22 22:26:10

阅读数:1815

评论数:1

MySQL5.5对多核CPU的支持

今天测试一台机器能大概支撑多少MySQL实例的时候,意外的发现原来MySQL 5.5对多核的支持也相当不错,以前不是到处说MySQL一个很大的缺陷就是不能很好的利用好CPU么?看来MySQL 5.5还是不错的,测试工具是sysbench,test-mode=oltp,每个实例的buffer=12G...

2012-08-16 22:35:13

阅读数:5103

评论数:3

浅析multi range read(MRR) & batch key access(BKA) & block nested loop(BNL)

另一篇文章介绍了index condition pushdown(ICP) 这篇讲叙的是MRR和与之相关的BKA 什么是MRR? MRR:multi range read。不好解释,先来看个例子: select * from tb where key_column = x   在没有M...

2012-04-15 18:55:39

阅读数:8128

评论数:5

提示
确定要删除当前文章?
取消 删除
关闭
关闭