自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

记录创业路上的一些想法

前腾讯Greate DBA,现眼镜行业创业者

  • 博客(590)
  • 资源 (15)
  • 收藏
  • 关注

原创 DBA解题集:将回档时间从 14小时降低到 10分钟的方法

无复盘,不兄弟。

2016-08-27 20:44:55 5905 2

原创 DBA解题集:也谈闭环时

基于工作的逻辑思考 闭环

2016-02-04 15:12:08 6282 2

原创 DBA解题集:学会数数

你会数数吗?很多人对这个问题大概是嗤之以鼻吧,因为小时候爸爸妈妈就教我们数天上的星星,地上的羊。因此大部分人第一反应我想应该是:“你在逗我吗?”也正是因为这种如此小儿科的简单到我们不愿意青眼相加的事情,让我们在日常的变更支持中屡屡将自己落入尴尬的状态,给玩家的体验、公司的利益、团队的影响带来负面的评价。DBA在跑完一个变更脚本后,便是检查日志,查看变更过程的详情,最经常使用的也就是grep -Ei

2015-12-27 22:06:30 6034 2

原创 腾讯游戏10大经典案例(二):天堂等于天下

天堂等于天下?是的,你的眼睛没有花~,看下面例子mysql> create table t (a varchar(12) default null,b varchar(12) default null, unique key idx_a (a),unique key idx_b (b)) engine=innodb default charset=latin1;Query OK, 0 rows

2015-03-27 17:01:02 6758

原创 腾讯游戏10大经典案例(一):唯一索引上的重复键

2012/12/20某业务合服后在唯一索引键上出现了重复键现象 mysql> select count(RoleGID) from RoleData_0;+----------------+| count(RoleGID) |+----------------+| 41255 |+----------------+1 row in set (0.00 sec)

2015-03-22 23:06:49 6844 3

原创 腾讯游戏数据自愈服务方案

腾讯游戏数据自愈服务方案

2015-02-07 20:25:37 15468 18

原创 跳还是不跳?这是个问题

周一(2014-11-17)有个项目进行变更,而且是重大变更,DB测操作从早上持续到下午17点,QA同事到晚上10点测试后发现,slave上的数据与master上不一致。忘介绍了,该项目的该模块有读请求以及delete逻辑在上面,被吓到没?这个问题应该在情理之中但又在意料之外,其实DBA在下午DB变更时便遇到slave卡住:Could not execute Delete_rows event o

2014-11-22 00:52:17 7037

原创 我们需要从不同的角度看问题

背景是某个业务的logdb历史oss_log(MyISAM表类型)例行删除,有时候会告"deadlock"。分析slow log发现有些删除需要很长时间,比如:drop table 2014_10_17_oss_abandonquest 花费了15041.2410秒。删除行为在凌晨4点发出,刚好落在备份期间,因为5.5有了MDL(Meta data lock),所以–single-transact

2014-11-08 23:42:58 7368

原创 为什么不记录慢查询?

㈠ 背景介绍:    2014/8/18 13点37分收到前端说反馈有玩家掉线情况,检查CPU、慢查询、DB请求量,并未发现异常,DB表现一如往常。㈡ 定位原因:INSERT INTO t (col1, col2, col3, col4, col5, col6, col7) VALUES ('3532082239485507011_130_99', '130_99', 130, 99, 35320

2014-08-18 23:24:40 6886

原创 双slave的server_uuid相同问题

早上做数据迁移,部署完slave2,发现3台机子的日志狂刷:旧slave:2014-05-29 14:35:35 996 [Note] Slave: received end packet from server, apparent master shutdown: 2014-05-29 14:35:35 996 [Note] Slave I/O thread: Failed reading l

2014-05-29 15:39:30 11887 2

原创 tsunami:一种基于UDP协议的快速传输

一. 需求      最近在做数据库迁移,经常需要打包实例传输,传统scp感觉很慢。二. 软件信息      1. 软件主页:http://tsunami-udp.sf.net/      2. 软件安装:直接源码make && make install三. 简单使用      以下介绍简明步骤:      在源机子开启tsunami进程:tsunamid *      在目标机子 connect

2014-05-28 15:20:11 7558 2

原创 MySQL bug:server-id默认被自动置为1

昨天同事在做主从时,从库报如下错误:Got fatal error 1236 from master when reading data from binary log: 'Misconfigured master - server id was not set'粗粗看好像是master的server-id没有设置,但同事做如下查询:备库采集:root@localhost Fri May 23

2014-05-24 10:27:11 9316

原创 复合索引的列顺序判断

复合索引最令人困惑的当属索引列的顺序,不仅依赖于使用该索引的查询,更需考虑排序和分组。前段时候我发了个帖子:where条件顺序和复合索引字段顺序。感兴趣的朋友不妨参与讨论。今天我提个自己的观点。在应用开发阶段,【选择性】是我们首要考虑因素,请看简图:当出现sql性能问题时,你可能需要注意以下几个:1. 随机IO2. 排序(order by)3. 分组(group by or distinct)这时

2014-04-27 19:04:44 12291 1

原创 Oracle 物理和逻辑备库健康监测的一个依据

以下面关键字眼为例:1 物理备库健康检查依据:Tue Apr 22 16:44:51 CST 2014Media Recovery Log /data/CMS/arch_log/1_58334_722210153_58334arch.dbfMedia Recovery Waiting for thread 1 sequence 58335 (in transit)2 逻辑备库健康检查依据:Tue

2014-04-25 11:33:06 6155

原创 江湖救急篇:slave 复制出错

事情是这样的,我们DBA组有位同学误删了备库的一个临时表,导致复制出错老大给力,江湖救急。关于该参数,淘宝丁奇写了篇文章还不错:MySQL小误区:关于set global sql_slave_skip_counter=N 命令的一些点还有360的杨挺也有一篇:sql_slave_skip_counter 介绍这2篇文章看下大概理解了最后说下,保险点的做法是 N恒等于 1,比较不容易出错 :-)当然

2014-04-22 12:12:57 6505

原创 Oracle DG故障诊断一则:alter database recover to logical standby new_logical_dbname卡住

我们在基于物理standby的基础上搭建逻辑备库过程过程中,在执行:alter database recover to logical standby READDB;卡住不动,并且alert也没有报错信息,无比郁闷,咨询了别人,聊天记录如下:我们的业务是passport应用,无法停止或者停掉非常麻烦,总之,药不能停。经过摸索,我们得到一个经验:需要等到MRP应用日志到跟主库一致,此时执行该命令才不

2014-04-21 21:35:40 8400

原创 Oracle DG故障诊断案例一则:ORA-16047: DGID mismatch between destination setting and standby

前天在搭建物理standby时,前面步骤都没错(实际上是有错),在验证归档日志是否同步到备库时发现:ORA-16047: DGID mismatch between destination setting and standby我们的处理方案是:在主备同时设置相同的log_archive_config1. 备库idle> show parameter log_archive_config;NA

2014-04-15 10:03:23 10005

原创 Python多进程编程(一):初探

1 基础例子比较常用的做法是,创建一个进程时可以提供参数来告诉他要做什么。本例子里,输出的"worker"将打印5次,不过不清楚孰先孰后,因为每个进程都在竞争访问输出流。1.1 输出顺序的不同[root@localhost pydoc]# ./tmp.pyworker 0worker 1worker 2worker 3worker 4[root@localhost pydoc]# ./

2014-04-13 22:21:08 6855

原创 我踩了mysqldump的一个地雷(续)

这个地雷我没踩过,不过今天周老大在微博记录了,想必这是他老人家心中的一个痛。为什么要记录?因为我认为这和我上次踩过的一个雷有异曲同工之妙,不同的是,我那个是数据库级别,而周老大那是表级。感兴趣的不妨结合起来看:我踩了mysqldump的一个地雷这种默认带删除操作真是坑死人不偿命啊,啊啊啊,受不了,功能多也是不好,这和MySQL的作风完全不符呀,完全属于PG一类。下面我来揭露下周老大心中的痛 :-)

2014-04-13 18:34:54 6400 2

原创 TokuDB && InnoDB insert压力测试对比

1 测试环境指标测试环境机型DELL PE R720(2U PC Server)CPUXeon E5-2620(6核,12线程,2.0GHz, L3 15MB) * 2内存32G(4G * 8)阵列卡及设置PERC H710,512MB,BBU(FW:12.10.1-0001),RAID 1+0FORCE WB硬盘15K RPM 300G SAS * 8网卡Intel 1GbE操作系统RHEL 5

2014-04-12 10:44:21 5648

原创 MySQL SQL优化:碍手碍脚的索引

该篇是SQL优化的第4篇。这里主要表达我的一个观点是:不该存在的索引就该干掉,留着碍事在2014-3-12 15:39:01 -- 15:55:00这段时间内,在某个业务系统我们发现2个问题:1. 数据库存在大量的查询等待2. 服务器的存在较严重的io等待这种现象在数据库中实际也是很常见,就是某个慢查询,始作俑者,执行特马慢,把后面本该很快的查询给堵住,导致系列长查询出现经诊断,我们发现某张表里存

2014-04-05 17:22:54 4007 2

原创 MySQL SQL优化:关联子查询的局限性

这是MySQL SQL优化的第三篇。公司某个业务系统频繁抛出问题SQL,我们对此类SQL做了基本面统计:此类SQL近期共执行了12次,最长一次花费480秒,最短286秒t1表的rows有90多万,始终会扫描这么多不需要的数据这是由于MySQL查询优化器在处理相关子查询方面存在局限性MySQL总是会将相关的外层表压到子查询中,它认为这可以更高效地查找数据行。这就意味着MySQL先选择对外层表进行全表

2014-04-05 16:57:47 3235 1

原创 MySQL SQL优化:Percona优化器真的好吗?

这是MySQL SQL优化分享第2篇,大家都很崇尚MySQL的一个强大分支Percona,真该跟风吗?有些时候,还是原配靠谱,小三不一定给力。我们先看下sar报告:明显地,CPU %idle 非常低,粗大事了。我们的告警邮件里显示,单条SQL执行时间长达 300秒左右。原始SQL非常长,这里就不贴了,但要表述的一个优化技巧是,优化的第一步,就是格式化 SQL  :-)我们看下问题SQL的问题部分:

2014-04-05 16:26:33 4219

原创 MySQL SQL优化:SQL爬虫翻页优化

赶着这几天有些时间,把前段时间优化的几条SQL经验分享并总结下,以飨来者。第一个要分享的是对MyISAM优化limit分页。背景来自公司某个业务系统提供给爬虫抓取数据,MySQL版本是5.1,引擎为MyISAM,原始SQL内容大致如下:注:为避免敏感信息,将很多字段变为col,但不影响阅读 :-)     SELECT Aa.* , B.col, B.col,

2014-04-05 11:55:21 2643

原创 运维故障:假如下次注意,可能不会这么幸运

最近开始做运维,连着2天发生过意外,虽然都有惊无险,但我认为是侥幸!故障记录如下:1. 2014-4-1 新项目上线,在执行DDL时忘了确认字符集,导致开发同学那边查出来是乱码。2. 2014-4-3 部署Oracle DG,自以为主库不是线上库,初始化后重启了主库发生事情是我们都喜欢事后诸葛亮,然后扪心自谓:"我下次注意",不要忘了,生产环境是随机行走的,你无法意料它的走向。我的意思是不可控的风

2014-04-03 22:29:56 2692 1

原创 我踩了mysqldump的一个地雷

我们先看2种情况:P 1:[ 21:56:33-root@ssdtest:~ ]#mysqldump -S /data/mysql/test_3306/mysql.sock --single-transaction --force --databases tpcc > v1.sqlP 2:[ 21:56:54-root@ssdtest:~ ]#mysqldump -S /data/mysql/t

2014-04-02 22:41:37 2051

原创 巧妙避开MySQL字符集的骚扰

在执行开发童鞋给的SQL脚本更新时,切记先用【\s】看下字符集,笔者今天在新项目上线时忘了确认字符集,导致页面查出来是乱码,还好老大给力,速度帮我背了黑锅,存底警醒自己以后不要再干出这种蠢事。Good Luck!

2014-04-01 23:42:19 1778 2

原创 MySQL 临时表与dstat mysql临时表监控插件开发

1)MySQL临时表2)dstat mysql 临时表监控插件开发

2014-02-26 15:56:04 2617

原创 MySQL Schema设计(五)用Python管理字符集

MySQL Schema设计(五)用Python管理字符集

2014-02-11 00:11:14 2963 1

原创 [基础] 序列却片

却片

2014-02-10 15:39:06 1533

原创 Python是朵两生花

两生花是西方传说中的一种植物,两个花朵亲密无间,却始终朝着两个相反的开放,直到损落的那一瞬间才有此生唯一一次的相顾。本文寓意让开在Python中的两生花能朝潮暮暮相知相识相对,盖因作者能力有限,一时间无法亭亭如盖也,但也会坚持更新本文,以期两生花能生生世世相对。1 __repr__ &&__str__如果没有他们?那么我们只能得到对象在内存中的位置In [1]: class Ctest(objec

2014-02-08 15:05:11 2660

原创 MySQL Schema设计(四)一个MySQL里的JQuery:common_schema

MySQL Schema设计(四)一个MySQL里的JQuery:common_schema

2014-02-07 23:29:53 2878

原创 MySQL Schema设计(三)利用Python操作Schema

MySQL Schema设计(三)用Python操作Schema

2014-02-05 16:35:39 4415 3

原创 MySQL Schema设计(二)精打细算,油盐不断

MySQL Schema设计(二):3大数据类型讲解,数据类型转换以及数据类型优化

2014-01-25 12:05:01 3763 1

原创 MySQL Schema设计(一)范式不能当'范'吃

MySQL Schema设计(一):无范式,不模式

2014-01-14 21:39:02 2882

原创 MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN

写作背景MySQL的ALTER TABLE操作常令DBA闻而变色,即使有Percona的OSC保驾护航,依然不堪轻易出手,但不是所有的ALTER TABLE都会引起表重建,从而需要花费数个小时甚至数天才能完成,本文对这3者作出简单区别,希望在万不得已时能是最后的一根稻草。ALTER COLUMN语法:ALTER [COLUMN] col_name {SET DEFAULT literal | DR

2014-01-05 15:42:58 11461

原创 我为什么不向你推荐书籍

适合自己的书只能自己找

2014-01-03 21:26:46 2239 5

原创 初步认知MySQL metadata lock(MDL)

MySQL 元数据锁

2013-12-17 11:11:35 4481

原创 索引的另一个好处及其运用实例介绍

索引用来加速查询或者是件家喻户晓的事,但还有一优势是:降低排序成本下面用2个例子来分析运用实例例1:优化排序分页原语句:select * from t order by col limit 100000,10;改进后语句:select * from t where col >= (select col from t order by col limit 100000,1) limit 10;改进后

2013-12-12 10:44:03 1869

原创 DBA的职业发展机会

DBA的职业发展机会

2013-12-07 13:58:36 7577 21

mysql+heartbeat+drbd软件集合

所含软件有: Heartbeat-STABLE-2-1-STABLE-2.1.4.tar.bz2 drbd-8.3.0.tar.tar libnet.tar.gz

2013-05-17

CSDN Oracle 版精华帖荟萃

经过几年的发展和沉淀、CSDN 积累了很多好的帖子、现在整理一部分出来、让大家查阅时节省时间成本和高效学习

2013-05-05

局域网MAC地址扫描器

局域网mac地址扫描、对网管而言、应该是简单、实用而且高效的工具、该工具小巧玲珑、值得拥有

2013-05-05

oracle ocp 图标

制作简历时可以用作页眉或页脚 赶脚还挺漂亮的 大家可以试试

2013-05-03

全系列Linux系统下载地址

全系列Linux系统下载地址

2013-05-03

应届毕业生证明模板

应届毕业生证明模板

2013-04-13

Oracle 9i 10g 11g所有软件和补丁的下载地址

还不错 收藏 备用 现在官网已经不能下载 9i 10g 的软件

2013-03-16

著名网站架构设计(包括Facebook Google Amazon

著名网站架构设计(包括Facebook Google Amazon)

2012-11-22

dba_*表和v$表

其实,我是自己上传,为自己加保险的。自己用的。

2012-08-10

Linux内核完全剖析—基于0.11内核

Linux内核完全剖析—基于0.11内核

2012-01-01

C++图书馆管理系统

C++图书馆管理系统。比较简单。但基本功能都有了。应该符合各位大侠 在期末大作业的时候派上用场了。

2011-12-01

C++做的超市收银系统

亲。超市收银系统式从我们老师那靠过来的哦,要下就快点哦。而且是C++的。绝对的经典。

2011-11-28

21天学会SQL

数据库的入门经典大作。关系型数据库的标准语言。 您不必苦恼无基础。。因为本书讲的非常清楚。 真的。亲。我亲身体验的哦

2011-11-26

STL word版

你是否在苦恼图书馆的大本关于STL的书?没关系,STL word版于最简单的 最少的内容详细的为您揭开了关于STL的神秘面纱

2011-11-26

现代操作系统

操作系统的经典神作,由Andrew S.Tanenbaum创造的星月神话。 第三版的。而且是中文版的哦。。亲。

2011-11-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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