开发者社区> 问答> 正文

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





知道如何为添加个函数,加个命令,加个 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/

展开
收起
路大侠 2016-04-13 08:30:22 7161 0
1 条回答
写回答
取消 提交回答
  • Re网站建设菜鸟如何看懂MySQL源码,并且能够自己写出相应的patch
      来看看。
    2016-04-13 08:46:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像