12月18日:
后续几天工作安排:
12月19日安排:
实现例子,截图,做PPT
利用网上下载的<存储引擎介绍>做PPT。
12月20日安排: 实习报告。
12月21号上午:演练PPT。
12月19日:
按照:
http://wenku.baidu.com/view/e9f4689e51e79b896802268f.htm
进行example的编译和安装。
在编译和安装之前,查看目前所有的存储引擎:
在执行show engine csv status\G;
出现了:
Access denied; you need the SUPER privilege for this operation
问题:
先不这个问题了,先把innoDB插进去再说:
插入的权限也没有啊!
看书吧!
12月20日:
插入存储引擎之前:
卸载archive引擎:
UNINSTALL PLUGIN archive
;
mysql默认的管理员是root:
应该以root用户身份登录:
install plugin example soname 'ha_exmple.so';
UNINSTALL PLUGIN ha_example;
插入一个新的存储引擎:
一月份工作安排:
1月1日::
看MySQL书
1月3日::
继续看MySQL书
1月4日::
看MySQL书
1月7日::
看MySQL相关代码
1月10日::
看MySQL相关代码
1月13日::
看MySQL相关代码
二月份工作安排:
2月18日:
在/home/yugao/mysql-5.1.34/storage下,建立文件夹lillian,开始把所有的文件都整理清楚了。
2月19日::
2月20日::
书上P232 复制storage/example目录下的*.cc和*.h到storage/lillian目录去。
替换大小写:
:1, $s/EXAMPLE/LILLIAN/g
:1, $s/exaple/lillian/g
P233下:
修改configure文件:
在Optional Packages部分找到csv,没有找到csv的相关代码: ????????????????
--with-csv-storage-engine
enable csv storage engine (default is "yes")
看来自己的确用的就是光盘里面的代码:
mysql5.1.34
下次直接查找configure文件里面的:
# Check whether --with-plugins was given.
即可
2月21日:
修改configure里面的代码:
在Optional Packages:部分
--with-plugins=PLUGIN[[[,PLUGIN..]]] 里面添加 lillian
在# Check whether --with-plugins was given部分做如下修改:
case "$mysql_plugins" in
all )
mysql_plugins='partition daemon_example ftexample archive blackhole csv
lillian example federated heap ibmdb2i innobase myisam myisammrg ndbcluster'
同时接着添加代码:
lillian )
mysql_plugin_lillian=yes
;;
采用了Beyondcompare3分析了相关代码:
archive与blackhole一样的。
archive与csv, federate还是有些区别的。
既然书上P233代码在源文件configure里面找不到,那么就先不按照书上的代码来改了,
直接按照文件里面archive的代码来进行修改:(即把archive里面的archive换成lillian即可)
修改Config.h.in文件:
修改configure.in文件
修改handler.h文件时发现书上的代码跟自己mysql-5.1.34里面的代码的确不相同:
书上的存储引擎要少些
handler.cc处代码跟自己的mysql-5.1.34里面的代码的确也不相同:
sys_table_aliases[]是有,但是结构体名却不同了
mysql_priv.h文件的代码: 已经添加。
set.var.cc处代码跟自己的mysql-5.1.34里面的代码的确也不相同:
参数个数都不相同,只能依葫芦画瓢了。
sys_var_have_variable 参数不同;
SHOW_VAR init_vars[]= {
........................
........................
........................
没有找到这部分代码。
2月22日:
虽然在mysqld.cc处没有找到相关的代码:
#undef have_berkeley_db
......................
......................
......................
SHOW_COMP_OPTION have_bekeley_db= SHOW_OPTION_NO;
......................
......................
......................
但是我依然在相关代码处添加了如下两行代码:
#undef have_lillian_db
......................
......................
......................
SHOW_COMP_OPTION have_lillian_db= SHOW_OPTION_NO;
接着开始编译Lillian存储引擎了: