最近一段工夫做了一个必需利用数据库的项目,由于要利用到嵌入式系统中,因而MyQql等大型的数据未曾措施利用,幸亏有Minisql。一个精巧的开源数据库,在嵌入式系统中,能够全面中意容易的必需。
大家也能够穿越google去下载,下载的地方还是挺多的。我抉择的是3.8版。固然项目是几年前的,然而还是很好用的。
进去正题:
第一局部,编译。
我利用的系统是ubuntu 10.04,固然有一些库要自己安装,然而适应了。许多东西自己搭配一下就好了。
第一步:进去目录,运行号召:./setup。
在这里,遭到了一个问题,即便ubuntu10.04下未曾bison库,我不懂得,别的版本下有未曾,万一未曾自己装一个就好了。等闲的源里都有的。安装好了,就能够穿越setup的测验。
第二步:先make
all一下试试www.c886.com,默认的是gcc编译器,先make一小下,万一获胜了,在ubuntu下先安装一个,放在板子上测验还是比拟繁琐的。
万一你在pc未曾问题了,即便穿插编译的问题了。
我用的编译器是arm-linux-gcc 3.4.5,
始终对4.0版本的编译器不感冒,固然看着很牛逼(嘿嘿)。这里几乎无须要修正什么,凡是修正一个文件就好。/conf/site.mm.in,修正两个东西就好。第一行,改成arm-linux-gcc,第二行,你的安装目录。然后重新做,第一步和第二步。该当没什么问题吧。
第三步www.yishanyilan.com:make install了。穿插编译安装告终。
第二局部:搭配
搭配更容易了,在目录下面有一个msql.conf。里面有各种配相消息。
我把它装到了NFS的文件系统中了,遭到了两个问题,一个是找不到配相消息,一个是连接不上。
第一个问题,用了最傻的措施,发生了N个文件目录,模仿了一下,它要求的绝对路径,然后觉察能够了。
第二个问题,默认的利用unix
socket连接的,然而我觉察我的板子上的Linux传神不扶持,也没精细查找什么问题,我就把搭配文件给改了,让它利用IP连接。即便将Remote_Access=Ture就好了。
对了,这里有一个问题,万一要修正mSQL_User,那么你的安装目录具有者定然与这个名字雷同,否则会有讹谬,手册上也这么写的。
做了容易的搭配,就能够利用它了。
第三局部:利用
在安装目录的/bin目录下有一些号召,能够利用。
msql3d,服务器启用号召,无论是直接利用,还是编程利用,都要开启服务器的。
msql db,进去你命名的数据库。
msqladmin,创立数据库等号召。
里面还有几个号召,就不一一推荐了,大家能够去看用户手册,恩,英文的,然而挺轻率懂的。
第四局部:编程
minisql,供给了 C语言的API,得体利用。
开始先,msqlConnect()上,然后再msqlSelectDB()。然后,msqlQuery()能够发送号召。函数供给的还是很全的,等闲编程利用未曾问题。
编译必需几个文件,一个是msql.h,这个安装目录中能够找到,在include文件夹下,还有即便两个静态库文件,在lib下。编译的时候,正常利用静态库就行了。(有个老外说,用到makefile中,就编译没穿越,可能他语法讹谬了,反正我就没遭到这个问题。)
对了,记得,arm下的库和pc下的库不能用一个,定然要离别编译出。
末路:
这个数据库的效率还是能够的,我做过测验,50000条数据,在200MHz
CPU,检索速度在1分钟以内,大约举行小数据量的处理和检索能够中意我的要求了。
PS:陡然觉察,这是第一篇哎,小子学艺不精,请各位大大多多指正。
一个问题的混杂性,经常有多种起源,例如能够是“深度”上的艰难;从这一点上,