眼看就要毕业了,但是存储引擎方面的开发依旧很缓慢,为了以后的继续开发,先把以前的开发日志贴出来。
目前已经取得的进展:
1 存储引擎所有资料和相关资源已经备齐
<在网上联系到一些专家>
<买齐了所有的MySQL资料书>
2 对存储引擎的工作机制和师兄的混合式系统有了大致的认识
3 正在深入分析存储引擎例子。
困惑和难题如下:
1 无论周围人还是网上,研究存储引擎的人太少,导致自己遇到问题,几乎找不到交流的人,这严重导致自己的系统开发时间。
2 据目前自己对存储引擎的调研,国内的牛人都只是写写补丁,要重新写个存储引擎,难度高,风险,成本,周期都挺大。自己信心有点受挫,担心不能如期完成存储引擎的开发工作。
3 很多书上提供的MySQL源码版本都很老,而且很难下载到。即使费劲力气下载到,在系统开发时会遇到很多bug,而且很多时间会浪费在没有意义上的bug上面.....另外还有和linux系统的兼容性问题...而且很多中文作者写书时也不太注明代码的版本号,联系他们也联系不到,书中有错误时,到他们指定的勘误网站上,发现这个网站早就没维护了......导致自己在那里摸索(中国人写书写完,也就完了).....其中各种苦逼....各种悲催.....
好了,抱怨到此为止吧。下面把自己4个多月的开发日志贴出来,为自己以后的存储引擎开发和其他朋友铺路吧。
11月19日:
MySQL目前我使用哪个版本比较好?
版本你是使用源码分发版还是二进制分发版??
源码版本
安装在win7下,还是Linux下?
linux下
11月20日:
问了师兄,他也是不太清楚,建议先看看《深入理解MySQL核心技术》,上面有讲解。
需要买另外一本书:
MySQL 5.1 Plugins Development。 但是价格偏贵了:499元。
已经打印电子版本了。
11月21日:
1 是否安装BitKeeper工具? 还是用源码分发版来安装 P26。
2
11月
22日:
找邓云师兄了解相关东西。
11月
24日:
linux版本:
看《MySQL核心内幕》发现,可以不用BitKeeper,采用 工具 Bazaar更好。
开始安装Bazaar:
1 安装PPA时有点问题, https://launchpad.net/~bzr/+archive/ppa,上面的说明是:
sudo add-apt-repository ppa:user/ppa-name,
自己采用:
sudo add-apt-repository ppa:/home/gaoyu/ppa
sudo add-apt-repository ppa:gaoyu/ppa
但是使用上面的例子:
sudo add-apt-repository
ppa:gwibber-daily/ppa
好使。
现在先采用例子吧,已经安装例子安装好了。
11月26日:
直接选择了从源码安装: https://launchpad.net/bzr/+download
,
选择第二个即可(linux下的)。
而不是网页上安排的: http://wiki.bazaar.canonical.com/Download。
已经下载成,放在win7下的E盘/Flash/毕业设计
安装paramiko包:
下载了paramiko包:http://www.python.org/pypi/paramiko/
置于/home/gaoyu下。
进入了目录:
并在网页: http://blog.chinaunix.net/uid-20546486-id-2891918.html 找到了安装paramiko方法:
测试通过:
《MySQL核心内幕》下P348页里面的 paramiko测试方法也通过:
了。 ---->
paramiko安装完成了
。
安装cElementTree:
下载:http://effbot.org/downloads/#celementtree
网速太慢啊,没有下载成功!
晚上5:00在寝室通过远程得知已经打开下载网页,直接下载到home/gaoyu/下,
安装成功后,通过测试:
现在可以安装Bazaar了!!!
下载完成后:
进入到: cd bzr-2.6b2 文件夹下
然后: sudo python setup.py install
成功安装了。
注册信息:
成功注册了。
接着安装
《MySQL核心内幕》P349上面介绍的进行:
A.4
问题:
1 安装包安装在自己目录下:/home/gaoyu下,和安装在/usr/local/下的区别在哪儿??
2 在linux下用火狐浏览器下载软件包时,会提示:
Open with Archive Manager(default),与Save File的区别在哪里??
我自己又点击了该下载,选择了“Save File”试试看,等它们两个都下载完了,在看看结果如何???
前者是安装包,后者是解压缩后的文件
11月27日
《MySQL核心内幕》P349上面介绍的A4,个人感觉不需要进行,所以又翻到了书的P32页,进行验证是否安装 Bazaar成功了。结果是:
成功了。
接着安装P34所示:
在论坛上跟两个牛人请教,上面的方法下载的应该是版本5.6,而不是版本5.1。所以要变换版本了,下面是在版本5.1的页面:( https://launchpad.net/mysql-server/5.1)
版本5.6的页面: https://launchpad.net/mysql-server
下面我试试这条命令:
sudo bzr branch lp:~mysql/mysql-server/5.1
11月28日:
今天上午来实验室发现,MySQL5.1应该是已经下载完了,不过与
《MySQL核心内幕》P35上面的mysql子目录有区别,这也很正常的,版本不同而已。可以见: http://bazaar.launchpad.net/~mysql/mysql-server/5.1/files
发现自己在:/home/gaoyu/5.1 的目录下, 缺少一个文件夹和另外两个文件。
所以本人决定删除已下载的5.1,在重新用新的命令:bzr branch lp:mysql-server/5.1,
先删除了5.1目录:
也顺便删除没有成功删除的mysql-server目录:
开始下载了:
11月29日
mysql5.1下载完毕,对比了: http://bazaar.launchpad.net/~mysql/mysql-server/5.1/files
发现下载的源代码少了:
文件夹1个:
文件2个:
先不管了,继续开始。
11月30日
在安装《mysql核心内幕》P46页,编写脚本后:
执行:
并没有P47页相应的输出。
所以先写个测试脚本,试试看有没有问题。
参考《linux程序设计 第四版》P24页例子。并在/home下建立测试文件夹:testing
测试结果说明了,很正常。只有可能要么原来脚本有问题,要么工具没有安装好。
查询了m4:
但是我采用了在命令行输入:m ,然后在按两下 tab键时,就显示出已经安装了m4, autoconf, automake, libtool,make,bison, gcc
请教下赖文豫,是否安装了?
他的回答是:
在Ubuntu下我们采用的是: apt-get install ** 来安装软件
Ubuntu不是采用的rpm,而采用的是Debian。
查询的话用上面的 tab键两下就好了。
编译脚本运行如下:
没有达到47页所示的效果,先在网上提交问题,接着往下面看看。
自己在csdn上提交问题后,有高手帮忙解决了,出现了P47页的情况。
编译和安装MySQL
创建新的文件夹:/home/gaoyu/mysql
选择安装在/home/gaoyu/mysql(书上是/usr/local/mysql)
采用命令:
发现在/home/gaoyu/mysql目录下并没有任何文件与文件夹,但是在/home/gaoyu/5.1下多了一些文件: