mongoDB数据库在32位机器上大小超过2G时就会出错(2G并不是指单库的容量,是整个mongoDB的所有库容量总和),所以选用CentOS 64bit作为其运行载体,下面直接切入主题。
1、下载mongoDB
进入mongoDB下载页(http://www.mongodb.org/downloads),获取Linux 64-bit的最新版mongoDB下载URL,然后进行下载:
- # wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.4.tgz
2、解压、移动目录到/usr/
local
/mongodb
- # tar -zxvf mongodb-linux-x86_64-2.0.4.tgz
- # mv mongodb-linux-x86_64-2.0.4
/usr/
local
/mongodb
3、创建数据存储目录及日志文件
#
cd
/usr/
local
/mongodb
#
mkdir
-p ./data/db/
- # mkdir logs
4、以后台运行方式启动服务
1 | /usr/ local /mongodb/bin/mongod --dbpath=/usr/ local /mongodb/data/db --logpath=/usr/ local /mongodb/logs/mongodb.log --fork |
显示
|
file [/usr/ local /mongodb/logs/mongodb.log] exists; copied to temporary file [/usr/ local /mongodb/logs/mongodb.log.2013-03-01T04-04-28] |
| child process started successfully, parent exiting |
5、将mongoDB服务加入开机自启动
1 | echo "/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/logs/mongodb.log --logappend--fork" >> /etc/rc. local |
或编辑/etc/rc.local文件,加入一行
1 | /usr/ local /mongodb/bin/mongod--dbpath=/usr/ local /mongodb/data/db--logpath=/usr/ local /mongodb/logs/mongodb.log --logappend --fork |
查看MongoDB日志
1 | tail -f /usr/ local /mongodb/logs/mongodb.log |
查看mongodb进程
1 | ps aux | grep mongodb |
1 | root 18261 0.0 1.4 150392 29948 ? Sl 12:04 0:00 /usr/ local /mongodb/bin/mongod --dbpath=/usr/ local /mongodb/data/db --logpath=/usr/ local /mongodb/logs/mongodb.log --fork |
参数解释: --dbpath 数据库路径(数据文件)
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
--logappend 日志文件末尾添加
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)
6、连接mongoDB
连接命令为:mongo 数据库名
- # /usr/local/mongodb/bin/mongo test
- MongoDB shell version: 2.0.4
- connecting to: test
- > show dbs
- local (empty)
- >
到这里,mongoDB的在Linux下安装已完成,本地连接mongoDB也已成功,这时我们就要考虑到另外一个问题了,局域网如何来连接mongoDB呢?局域网中windows机器如何来连接Linux机器中的mongoDB呢?
其实做法一样很简单,语法为:
- bin/mongo IP地址/数据库名
最后关注一下防火墙的设置:
mongoDB的数据库连接端口(默认):27017
mongoDB Web管理连接端口(默认):28017
所以我们需要在防火墙上开放上述两个端口的访问
- # iptables -I INPUT -p tcp --dport 27017 -j ACCEPT
- # iptables -I INPUT -p tcp --dport 28017 -j ACCEPT
保存并重启防火墙服务
- # service iptables save
- # service iptables restart
好了,现在可以让你的应用去访问和使用mongoDB了。