http://www.mongodb.org 下载地址
# tar xvf mongodb.tgz 解包
# cd mongodb 进入 # cd mongodb/bin 这个目录中有很多的二进制包 # cp mongodb/bin /usr/local/mongodb/bin # mkdir data # mkdir dblogs 开机自启动
# 在bin中
# ./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/dblogs --fork
# pstree -p | grep mongod
# vi /etc/rc.local
加入:./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/dblogs --fork
这里就开机自启动了
关闭服务
# pkill mongod 或者是 killall mongod # 登陆
# ./mongo >show dbs
loacl (empty) >exit 退出
> show dbs 查看当前mongodb有多少个数据库
>db 当前数据库 > show tables; 当前有多少集合 或 show collections; >db.c1.insert({name:"user1"}); 插入一个数据 > show dbs >db
test >show tables;
c1
system.indexes
>db.c1.find(); 查看
>db.c1.remove 删除所有
# 修改
>db.c1.update({name:"user3"},{name:"user30"}); >db.c1.remove(); >db.c1.insert({name:"user1",age:30}); >db.c1.update({name:"user3"},{$set:{name:"user300"}}) ;
------ 增加
------- 修改
update
show indexes db.c4.find(); db.c4.update({name:"user6"},{sex:"nan"},0,1);
==== 固定集合与性能优化
删除集合
db.c5.drop(); 删除数据库
db.dropDatabase(); 人为去创建一个集合 db.createCollection("c1"); db.c1.stats(); db.system.indexes.find();
创建固定集合
db.createCollection("c2",{capped:true,size:10000000,max:5});
db.c2.stats(); 普通集合转为固定集合 db.runCommand({convertToCapped:"c1",size:10000000,max:5})
=== 性能篇
建立索引 for(i=1;i<=10;i++){
db.c1.insert(name:"user"+i,age:i);
} db.c1.find(name:"user5"); db.c1.find(name:"user5").explain(); db.c1.ensureIndex({name:1});
db.c1.getIndexKeys();
db.c1.getIndexes();
唯一索引
db.c1.ensureIndex({age:1},unique:1);
删除索引
db.c1.dropIndex({age:1});
删除所用索引
db.c1.getIndexes();
打开慢查询日志 db.getProfilingLevel(); 0 不开启[默认]
1 记录慢查询[默认为>100ms]
2 记录所用命令 db.setProfilingLevel(1); # 1秒
db.setProfilingLevel(1,1000);
这样不成功,要在启动的时候加 # ./mongo --profil=1 --slownum=10
数据导入导出
# 导出
./mongoexport -d test -c c1 -o /tmp/c1.out
# 导入
./mongoimport -d test -c c1 /tmp/c1.out
备份
mongodump mongodump -d test -o /tmp/
恢复
./mongorestore -d test /tmp/test
|