MongoDB使用总结系列1
MongoDB使用总结系列1
由于公司产品的设计,接触MongoDB数据库有大概一两年了,测试过程中或多或少都有用到,例如测试数据准备等等。。。;使用惯了关系型数据库,开始接触时感觉特别不适应,尤其是查询数据的时候,以前用oracle或mysql查询数据时写一条sql非常方便,换做用它了,由于语法不熟练使用起来非常不方便;随着使用次数的增多也遇到了一些问题,经过两年的使用目前在测试工作中已可熟练使用,最近想把这两年使用的一些心得总结一下
1.安装部署
如果只是在测试环境中使用,不用考虑特殊的要求的话例如:副本集、主从等;安装配置相对简单,后续会描述副本集和主从模式的搭建,先讲讲简单的模式。
安装程序可到官方网站进行下载,地址:
http://www.mongodb.org/downloads 里面有针对各个操作系统的版本供下载,我安装的是linux64的版本,下载后在linux环境下直接解压即可
2.启动和配置
进入安装路径bin目录下,输入./mongod --help可查看启动程序自带的参数结束,通常最简单的配置只需要指定端口、数据文件路径、日志路径、日志是否追加写入、是否绑定端口即可;例如:
./mongod --port=10001 --dapath=/home/data/ --log=......
具体参数内容格式参照“帮助”内容;这种方式启动MongoDB有些麻烦,每次还要敲这么一长串内容,本人比较懒,为了偷懒发现根据不同数据库配置可将启动参数写在不同的配置文件中,启动时只要指定该文件就好了,于是根据需要生成了不同的启动文件db.conf;内容如下:
port=10001
dbpath=/data/mongodb/data/shard0
logpath=/home/app/db/logs/mongodb.log
logappend=true
fork=true
根据需要可以灵活地在此文件中增添启动参数,配置好该文件后,只需执行:./mongod -f 文件路径 即可了!这样一台机器上配置多个测试数据库时只需准备不同的配置文件,再写个简单的shell脚本便可一键全启动了
如果需要指定系统开机时启动mongoDB,那么只需修改/etc/rc.local,将启动命令添加进去即可
3.关闭数据库
温柔点的方法通过命令:
1)进入mongo控制台:./mongo --port="数据库端口号"
2)use ”数据库名称”
3)使用命令db.shutdownServer()即可
暴力点图方便的话直接用kill吧,但是这种操作如果实在数据库大量读写数据时进行,下一次启动时可能会失败,我之前就遇到过,后来将数据文件所在目录下将mongo.lock文件删除后再次启动问题解决。
4.工具介绍
推荐两个工具,这两个工具我都用过,感觉都还不错!
1.RockMongo,这个工具用的时间相对较长伴随了两年,最早的版本修改数据的功能不完善,特别是修改long形字段值保存到MongoDB中会将值默认变为Double型,当时觉得非常麻烦还特意要命令去转换成long形,以后会讲到!这工具唯一一个缺点让我很抓狂,就是当一个表中记录数较多时查询一直提示超时,后来发现配置文件中有timeout这一项,将该项值填大一点或者直接去掉,超时现象基本解决,偶尔碰见大表还是会出现,但出现概率变小了!
2.MongoVUE
界面清爽一点,其他不多数了,谁用谁知道