orczhou

  • Vim使用简介

    ·

            "工欲善其事,必先利其器"
                                       《论语》

    写在前头:vim是Linux下最常用的编辑工具,一般认为vim是Vi IMproved(增强的vi)的缩写,很多时候我们也把vim称为vi。vi是一个上手比较难,但是一旦掌握,就能大大提高效率的工具。本文介绍一些Vim使用的基本概念,读者可以根据本文给出参考文献继续深入了解Vim。

    Updates

    在vim中执行命令@202405

    有时候,我们修改完文件后,需要立刻进行调试查看效果,这时候,通常我们需要执行一些shell命令以查看效果。这时候,我们可以使用如下方式暂停vim编辑,以进入命令行的执行:

    • 使用!{command}.执行命令,这里的{command}即代表需要执行的命令
    • 使用CTRL+Z将当前的vim进程放到后台,并回到shell,执行完命令后,使用fg返回vim继续编辑

    关于这两个名的使用,可以参考vim手册中的小结:Go away and come back@VIM USER MANUAL,较为详细的介绍了这两种方式。

    1. 认识Vi

    直接使用vi(或者vim)命令,有时会看到如下的内容

    Vim is open source and freely distributable ~ Help poor children in Uganda! ~ type :help iccf<Enter> for information
    (more…)
  • MySQL5.5版本信息

    ·

    本文完全参考MySQL Manual,毫无新意。

    MySQL5.5之后,版本的信息会像这个样子:MySQL-5.5.2-m2,Why?

    以前MySQL开发进程是将大量特性加入到MySQL代码库进行测试开发,然后分发5.1.0……5.1.44等版本。缺点是某个小特性(代码)的测试有可能会影响到整个版本。这也是MySQL6.0迟迟没有RC的一个原因。

    现在使用“里程碑模式”(milestone mode),而每一个milestone版本则仅关注某一小部分特性进行开发测试,这样可以让MySQL能够更快的放出对应的RC。下一个milestone则在原来(上一个milestone)基础上进行开发,仅关注某一小部分特性进行开发和测试,并对这一小部分特性进行全面、彻底的测试。

    例如,MySQL 5.5.0-m2 是Milestone 2的第一个版本。该milestone专注于代码基本的稳定性。在m2发展历程中,我们还会看到MySQL 5.5.1-m2,MySQL 5.5.2-m2等。

    为什么不是m1呢?(认为5.4就是m1)。

  • Linux iostat监测IO状态

    ·

    Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。

    1. 基本使用

    $iostat -d -k 1 10

    参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。

    (more…)
  • 乐在其中

    ·

    今天,创业九楼阅读文档,外面烟花声此起彼伏

    乐在其中 烟花何其寂寞

  • 春节感冒

    ·

    这是步入工作后的第一个春节假期,感冒是在这个的假期最后一天:

    大概是喝了一点加冰的可乐,上午喉咙就有些疼了,一般这也是我感冒的征兆,但是也有很多时候,就只是喉咙痛而已,所以自己也没有太在意。我的喉咙(扁桃体)是很脆弱的,很早之前医生就建议不要和太冰或者太烫的饮料。匆忙的火车、汽车让自己暂时忘记了不适,晚上到住处洗完澡后,才发现把羽绒服裹上,身体表面发烫,但是还是觉得一阵阵冷意;隐隐的头痛也明显了;虽没有吃晚饭,却一点也不饿,也感觉自己一点胃口都没有。

    晚上随便吃点东西后,像往常一样睡觉。裹着厚厚的被子,身体还是感觉到阵阵凉意,不知道从哪儿来的。

    半夜醒来,真真的感冒才发威。喉咙还是和白天一样疼,感觉全身发烫,奇怪的是还觉得冷。身体姿势无论怎样调整,都无法入睡。逐渐感觉头痛得厉害,脑袋晕晕的。虽然想拼命的继续睡着,不过发现自己反而越来越清醒。窗外有微弱的灯光照到房间的天花板,盯着天花板,思绪犹如脱缰的野马到处乱跑,安静的睡着是不可能了。 (more…)

  • InnoDB Double write

    ·

    记得刚开始看InnoDB文档的时候,Double Write一节(其实只有一小段)就让我很困惑。无奈当时内力太浅,纠缠了很久也没弄明白。时隔几个月,重新来整理一下。

    涉及到的概念:Buffer Pool简称BP,Dirty PageLog fileFlushinnodb tablespace

    1. 什么是Double Write

    在InnoDB将BP中的Dirty Page刷(flush)到磁盘上时,首先会将Page刷到InnoDB tablespace的一个区域中,我们称该区域为Double write Buffer。在向Double write Buffer写入成功后,再择机将数据拷贝到正在的数据文件对应的位置。

    咋一看,这个过程有些多余 (more…)