上次在一个“数据库技术论坛”上分享MySQL管理方面的一些经验,这里把PPT分享一下:
– -EOF- –
前面做了一个开始,沿着路慢慢走下去。
开始之前,这里可以说说这次准备开始研究源代码的一个很大诱因了。前一段时间在生产环境遇到了一个InnoDB报错,这个错误甚至会导致InnoDB Crash:
沿着这里的线索 buf/buf0buf.c line 680 找到了:
继续,就开始看rw_lock_create的实现,然后感觉需要看更多基础的一点的内容,这样就有了前面一片文章,继续研究,就有了现在的这篇文章。 (more…)
作为DBA关心的更多的可能是原理、机制,对于源码一般大家也不是特别关心,也不太用得上。而且对于对于源代码级别的细节也很难用文字表达自己的理解,最终理解必须还是需要自己去看看每一行代码到底是怎样的。也读过《Understanding.MySQL.Internals》的大部分章节,作者也是偏重于从代码的实现目的(原理、机制)来介绍的,国内的《MySQL核心内幕》(个人对于“核心内幕”这个词有莫名的反感)算是更多的从源码开始介绍MySQL了,可是这本书也许是授予篇幅的限制,介绍的东西也并不多。
开始写这篇文章,不能期待自己能写多少,也不能期待自己能研究多少,不过至少走出了自己探索的第一步。文章的宗旨不在于能够多么细致的分析MySQL的源代码,而是希望能给自己,能给他人打开走向源代码的第一道门。
我是BNU数学系毕业的,对C语言知道甚少,C语言的经历大概就是“计算方法”课程中实现的求解各种方程的撇脚程序了。所以虽然我会极力避免错误,但是相信还是会犯一堆错误,希望各位看官能够宽容点,有错误指出来,慢慢改正。
InnoDB的代码通过宏定义考虑很多平台的兼容问题,这里分析的主要是类Unix/Linux平台(POSIX标准)的代码段,所以下面的很多代码段也是删除相关兼容性代码的。本文InnoDB源码是Plugin1.0.6版本。 (more…)
·
球场上充满了戏剧性。“德国队 VS 英格兰”,这是第三场16进8的淘汰赛,也是目前为止世界杯最精彩的比赛,尤其是上半场。
在德国进两球领先的情况下,英格兰于37分钟打入一球,扳为二比一。戏剧性的事情发生在了39分钟,兰帕德一脚远射,足球先打在了德国队上门柱内侧,足球完全弹入球门(足球全部越过球门线),足球弹在地上后又弹向球门外,守门员立刻拿住球,并发出。主裁判和边裁都没有看清楚足球是否入网,裁判并没有判这个进球有效。
比分从一比零,到二比零,到二比一,再到这个误判。由于这个误判,英格兰失去了扳平比分的机会。在电视机前的我,也为裁判的判罚“捶胸顿足”,同时也为英格兰惋惜。”英格兰这个球真冤。。。”,“倒霉的英格兰,进球被裁判看错了”,“这个球裁判漏洞太过了……助理裁判是罪人啊”,“如果今晚德国是 2:1 取胜,或者谁最终一球取胜,英格兰球迷得疯掉”,很多人都在为英格兰喊冤。当时,愤愤不平的我大喝了一口果汁,接着继续骂骂咧咧,抱怨着这个不公平的世界。
比赛还在继续,二比一进入下半场。这个比分对英格兰来说,也并没有那么糟,事实上,英格兰队下半场发挥都还是正常的:鲁尼还在游走,杰拉德有两脚远射(有点唐突),后防线状态还是那么“放松”。
在67分钟、70分钟德国队穆勒打入两粒精彩而毫无争议的进球,把比分扩大为四比一,比分也延续到了终场。
人生亦如此。
引用Twitter上的一段话,结束本文:
@orczhou: 想起了《Lost》中一句经典台词Let it go and move on RT @buzhoushan: 这是她们的借口RT @ryangato 对英国佬来说还是比较重要的 RT @orczhou: 上半场的那个误判已经不那么重要了