逗比学习MariaDB源码日记01--一切的开始

--一切的开始

作为一个合格的逗比,决定做一件逗比的大事情,作为一个把C和C++全部还给老师的逗比,打算通读一遍Mysql的核心代码,额,不知道能坚持多久,争取不要半途而废吧,不过逗比的事情哪里说的清楚呢

那么我们就开始吧。

1.你得先有一份源码,mysql的官网不知道为什么,我下载不了,下载的MariaDB的源码,基本是一回事。

2.你得有一个看C和C++源码的工具,有人推荐source insight,不过我试了下不太好用,比较乱。然后有人推荐eclipse,WTF,这不是写java的么,结果人家出C的补丁和C专门的版本了,赶紧下载一个。结果打不开,原来要jdk 1.7以上的环境。赶紧再去下载一个最新的jdk。

3.好了,现在你有了源码,有了工具,可以开始漫长的mysql源码学习之路了。

--加载代码

1.new一个新的project :new==》makefile project with existing code

2.第一次加载比较慢,你可以喝杯咖啡,或者看会儿小说,等待eclipse把源码的关系建立起来,不然ctrl+点击是无效的,我开始折腾半天始终无效,还以为有问题,结果是加载慢。。。

3.等了一会之后,ctrl+点击好用了,就可以开始看代码了。那么你应该从哪个文件开始呢。

《深入理解MySQL核心技术》里说的是mysqld.cc里,说我们一切的开端main()在里面,但是为毛我在里面找不到呢。难道是我打开的方式不对?于是找基友问了下,原来不是在mysqld.cc里,在main.cc里,果然计算机的书是最不靠谱的,即便是大牛的书。。。。

时间: 2024-10-05 23:47:51

逗比学习MariaDB源码日记01--一切的开始的相关文章

逗比学习MariaDB源码日记02--第一个文件main.cc

--第一个文件main.cc 1简单的一段代码,好有 hello world的感觉啊 /* main() for mysqld. Calls mysqld_main() entry point exported by sql library. */ externintmysqld_main(int argc, char **argv); int main(int argc, char**argv) { returnmysqld_main(argc,argv); } 这里的注释第一句是说这个是就是

Linux学习之源码2:start_kernel流程

一.X86的流程可以参考http://www.kerneltravel.net/kernel-book/第十三章%20启动系统/13.5.htm 二.arm的流程,在http://www.cnblogs.com/gangsaleisi/archive/2013/01/09/2851734.html基础上进行分析. 并且是在3.9.7版本上进行分析的,差别不是太大. 1.lockdep_init():lockdep哈希表初始化,lockdep是linux内核的一个调试模块,用来检查内核互斥机制尤其

shell脚本和ansible实践MariaDB源码编译自动安装

在前面的博客中已经演示,通过脚本实现MySQL通用二进制的安装,下面通过演示用脚本实现源码编译MariaDB实现自动化,在大规模部署多台MariaDB时,这里使用ansible来实现其自动化部署,可以大大简化运维工程师的时间. 先讲解脚本在本地自动化安装MariaDB,结合上一篇博客和前面自动化实现的MySQL通用二进制格式的安装. 环境:Centos 6.6      mariadb-10.0.13.tar.gz    node5(hostname)   2块硬盘:1块是系统用.1块是作为My

一起学习redis源码

redis的一些介绍,麻烦阅读前面的几篇文章,想对redis的详细实现有所了解,强力推荐<redis设计与实现>(不仅仅从作者那儿学习到redis的实现,还有项目的管理.思想等,作者可能比你我都年轻欧).如果阅读了上面的文档,激起你对redis的强力好奇,那么就只能阅读源码了.不管是在校学生,还是已工作的,redis的代码都值得阅读.我们可以了解如何编写一个工程可用软件,可以学习一些开源常用软件,通过redis丰富的数据结构,可以熟悉大学学习的那点儿数据结构,可以了解如何实现一个自己高效的网络

Struts2+Spring+Ibatis用户注册、登录、管理入门学习实例源码下载

原文:Struts2+Spring+Ibatis用户注册.登录.管理入门学习实例源码下载 源代码下载地址:http://www.zuidaima.com/share/1550463735532544.htm Struts2+Spring+Ibatis用户注册.登录.管理入门学习实例源码下载 项目截图: jar包和sql文件都在源码包中. 运行截图: 用户注册页面: 用户管理页面:

Linux学习之源码1:入口流程

有地方看到,启动流程是arch/arm/boot/compressed/head.s ----->调用arch/arm/boot/compressed/misc.c的decompress_kernel()函数解压内核.---->arch/arm/kernel/head-common.S初始化 ---->init/main.c的asmlinkage void __init start_kernel(void) 注意在arch/arm/kernel/smp.c文件中有一个启动多核处理器的函数

编译安装MariaDB源码包

因为MySQL的发展趋势不甚乐观,MariaDB已替代MySQL被CentOS 7做为默认组件,如果想在CentOS 6中使用最新的MariaDB,则需要我们手动安装,其安装方式有三种: 1.RPM包安装 2.二进制包安装 3.源码包安装 下面我们来介绍如何使用源码包来安装MariaDB,系统平台:CentOS 6.5:MariaDB版本:10.0.19 一.获得MariaDB源码包 可以通过MariaDB的官方网站来获得MariaDB的最新源码包,下载地址为:https://downloads

WEB前端开发学习:源码canvas 雪

WEB前端开发学习:源码canvas 雪 双旦节要到了,程序员们为了响应气氛,特别用代码制作了动态雪花,WEB前端开发学习的初学者们一起跟着案例做一遍吧! <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body style="overflow: hidden;margin:

一个jeecg整合activiti的学习例子,源码下载

社区成员:刘京华采用技术:jeecg+ activiti源码下载地址:http://pan.baidu.com/s/1dDxOHrV 截图演示:  2.jpg (71.81 KB, 下载次数: 0) 4.jpg (41.98 KB, 下载次数: 0) 5.jpg (64.07 KB, 下载次数: 0) 5.jpg (64.07 KB, 下载次数: 0) 一个jeecg整合activiti的学习例子,源码下载