知道如何为添加个函数,加个命令,加个 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/
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。