vps小内存启动mongodb的问题

来源:互联网 发布:rt809f编程器使用视频 编辑:程序博客网 时间:2024/06/05 05:08

自己的测试机器启动mongodb瞬间启动

到了vps上启动不起来?困扰了一天多,不管是百度还是谷歌都说mongo.lock 文件删除再启动,哪个是由于不正当关闭或者意外关闭造成的,可是我这个才启动唉!!

无奈了,查日志,无意看到了一句关键性的提示

先看下启动的日志:

[root@localhost m1]# /mongodb/bin/mongod --port 10001 --dbpath /mongodb/data/m1Wed Feb 12 22:44:38.595 [initandlisten] MongoDB starting : pid=5117 port=10001 dbpath=/mongodb/data/m1 64-bit host=localhostWed Feb 12 22:44:38.596 [initandlisten] db version v2.4.9Wed Feb 12 22:44:38.596 [initandlisten] git version: 52fe0d21959e32a5bdbecdc62057db386e4e029cWed Feb 12 22:44:38.596 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49Wed Feb 12 22:44:38.596 [initandlisten] allocator: tcmallocWed Feb 12 22:44:38.596 [initandlisten] options: { dbpath: "/mongodb/data/m1", port: 10001 }Wed Feb 12 22:44:38.620 [initandlisten] journal dir=/mongodb/data/m1/journalWed Feb 12 22:44:38.621 [initandlisten] recover : no journal files present, no recovery neededWed Feb 12 22:44:38.621 [initandlisten] Wed Feb 12 22:44:38.621 [initandlisten] ERROR: Insufficient free space for journal filesWed Feb 12 22:44:38.621 [initandlisten] Please make at least 3379MB available in /mongodb/data/m1/journal or use --smallfilesWed Feb 12 22:44:38.621 [initandlisten] Wed Feb 12 22:44:38.622 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminatingWed Feb 12 22:44:38.622 dbexit: Wed Feb 12 22:44:38.622 [initandlisten] shutdown: going to close listening sockets...Wed Feb 12 22:44:38.622 [initandlisten] shutdown: going to flush diaglog...Wed Feb 12 22:44:38.622 [initandlisten] shutdown: going to close sockets...Wed Feb 12 22:44:38.622 [initandlisten] shutdown: waiting for fs preallocator...Wed Feb 12 22:44:38.622 [initandlisten] shutdown: lock for final commit...Wed Feb 12 22:44:38.622 [initandlisten] shutdown: final commit...Wed Feb 12 22:44:38.622 [initandlisten] shutdown: closing all files...Wed Feb 12 22:44:38.622 [initandlisten] closeAllFiles() finishedWed Feb 12 22:44:38.622 [initandlisten] journalCleanup...Wed Feb 12 22:44:38.622 [initandlisten] removeJournalFilesWed Feb 12 22:44:38.625 [initandlisten] shutdown: removing fs lock...Wed Feb 12 22:44:38.625 dbexit: really exiting now

其实是我没注意看日志,问题在 
Please make at least 3379MB available in /mongodb/data/m1/journal or use --smallfiles

使用下面的命令启动即可

/mongodb/bin/mongod --port 10001 --dbpath /mongodb/data/m1 --logpath /mongodb/m1.log  --smallfiles --fork

这样就可以启动了

然后增加用户权限

登录到mongodb

/mongodb/bin/mongo 127.0.0.1:10001

查看所有数据库名
show dbs

查看当前的数据库

db

却换到admin数据库,增加一个admin的账户

切换数据库
use admin

增加用户名
db.addUser('sa','sasa')
显示表
show collections
查询表所有数据
db.system.users.find();
条件查询
db.system.users.find({user:"sa"});
删除用户
db.system.users.remove({user:"sa"})
db.system.users.find()

然后关闭数据库,使用授权模式启动

> use admin
switched to db admin
> db.shutdownServer();

exit

/mongodb/bin/mongod --port 10001 --dbpath /mongodb/data/m1 --logpath /mongodb/m1.log  --smallfiles --auth --fork

/mongodb/bin/mongo 127.0.0.1:10001

切换到要认证的数据库

use mydb

db.auth('a','aa');


0 0
原创粉丝点击