[root@master opt]#
tar -xzvf mongodb-linux-x86_64-1.6.3.tgz
[root@master opt]#
mv mongodb-linux-x86_64-1.6.3 mongodb
[root@master opt]#
cd mongodb
[root@master mongodb]#
ls
bin GNU-AGPL-3.0 README THIRD-PARTY-NOTICES
[root@master mongodb]#
cd bin/
[root@master bin]#
ls
bsondump mongod mongoexport mongoimport mongos mongostat
mongo mongodump mongofiles mongorestore mongosniff
[root@master bin]#
[root@master bin]#
./mongod
./mongod --help for help and startup options
Sun Jan 3 09:01:55 MongoDB starting : pid=3458 port=27017 dbpath=/data/db/ 64-bit
Sun Jan 3 09:01:55 db version v1.6.3, pdfile version 4.5
Sun Jan 3 09:01:55 git version: 278bd2ac2f2efbee556f32c13c1b6803224d1c01
Sun Jan 3 09:01:55 sys info: Linux domU-12-31-39-06-79-A1 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_41
Sun Jan 3 09:01:55
exception in initAndListen std::exception: dbpath (/data/db/) does not exist, terminating
Sun Jan 3 09:01:55 dbexit:
Sun Jan 3 09:01:55 shutdown: going to close listening sockets...
Sun Jan 3 09:01:55 shutdown: going to flush oplog...
Sun Jan 3 09:01:55 shutdown: going to close sockets...
Sun Jan 3 09:01:55 shutdown: waiting for fs preallocator...
Sun Jan 3 09:01:55 shutdown: closing all files...
Sun Jan 3 09:01:55 closeAllFiles() finished
Sun Jan 3 09:01:55 dbexit: really exiting now
[root@master bin]# netstat -tnpl |grep 27017
解决方案:
[root@master mongodb]#
mkdir data
[root@master mongodb]#
mkdir log
[root@master mongodb]#
ls
bin
data GNU-AGPL-3.0
log README THIRD-PARTY-NOTICES
[root@master mongodb]#
pwd
/opt/mongodb
[root@master bin]#
touch /opt/mongodb/log/mongodb.log
[root@master bin]# ./mongod --dbpath=/opt/mongodb/data/ --logpath=/opt/mongodb/log/mongodb.log
all output going to: /opt/mongodb/log/mongodb.log
参数解释: --dbpath 数据库路径(数据文件)
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
--logappend 日志文件末尾添加
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)
控制台操作命令:
[root@master bin]#
./mongo
MongoDB shell version: 1.6.3
connecting to: test
>
show dbs ;
Sun Jan 3 09:09:58 uncaught exception: don't know how to show [dbs ]
>
show dbs
admin
local
>
show tables
>
show collections
>
db.c1.insert({name:"tom"})
>
show dbs
admin
local
test
>
show tables
c1
system.indexes
>
db.c1.find()
{ "_id" : ObjectId("5689561782b514adcdb0546b"), "name" : "tom" }
>
其他启动方式(参考使用):
1)通过配置文件配置:
vim mongodb.conf
port=10001 【代表端口号,如果不指定则默认为 27017 】
dbpath= /data/mongodb/ 【数据库路径】
logpath= /data/mongodb/ 【日志路径】
logappend=true 【日志文件自动累加,而不是覆盖】
启动命令:
/usr/loca/mongodb/bin/mongod -f mongodb.conf
2)后台启动
# --fork 选项将会通知 mongod 在后台运行
/usr/local/mongodb/bin/mongod -port 10001 --dbpath /data/mongodb/ --logpath /var/mongodb/mongodb.log --fork
#使用&后台启动
/usr/local/mongodb/bin/mongod -port 10001 --dbpath /data/mongodb/ --logpath /var/mongodb/mongodb.log &