开发者社区> 问答> 正文

网站建设菜鸟如何看懂MySQL源码,并且能够自己写出相应的patch

路大侠 2016-04-13 08:30:22 5796




知道如何为添加个函数,加个命令,加个 plugin,replication 的细枝末节。


网站开发如何学习,但如果要真正的掌握他的代码,需要很长的时间。MySQL 加上 Innodb 的代码有 140w 行代码 ,有且是你要完全看懂 Innodb 需要啃下 事务处理 这本书,这本书比较难以理解。


之外 Mysql Server 的代码虽然多,但是比较好理解了,我看过下面这些:


1. 网络模型,MySQL 的网络模型太老了, one connection per thread,代码很简单。
2. 协议解析,MySQL 的 协议还算比较简单的,但是设计的 prepare 的协议就要花点时间,我写个一些分析的文章和图,网上你搜索下。这里你要花时间把 mysql client 这个客户端的代码都看看,这样对你往后无论开发 jdbc还是 libmysqlclient 的项目都有帮助。
3. SQL 解析,咳咳,不好意思大难题了。不过还好对于编译原理的知识你只需要了解前端的词法解析和 yacc 的使用即可,你可以参考 flex and bison 这本书 ,仅仅需要看懂 yy 和 lex 文件即可,yy 比较长,但里面涵盖了所有的 MySQL 所支持的 sql 的语法。我也写过一个简单的 sql parser,在我的 github 上。
4.replication,这个不复杂就几个文件。
还有一些忘记了,基本上我就看过这些,因为 MySQL 实在太大了。




转载请注明出处:梦之网科技 http://www.mzwkj.com/
SQL 自然语言处理 前端开发 关系型数据库 MySQL Java 数据库连接
分享到
取消 提交回答
全部回答(1)
  • wuuxxxx
    2016-04-13 08:46:43
    Re网站建设菜鸟如何看懂MySQL源码,并且能够自己写出相应的patch
      来看看。
    0 0
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题