UbuntuServer12.04安装MongoDB,开机自启,服务,权限
获取最新版本
去http://www.mongodb.org/downloads找最新版的链接
1 wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.8.tgz
解压缩
1 tar zxvf mongodb-linux-x86_64-2.4.8.tgz
2 cd /usr/mongodb-linux-x86_64-2.4.8.tgz/bin
创建数据文件夹、日志文件夹
1 mkdir data 2 mkdir logs
写mongodb.ini配置文件
1 # 指定服务端口号,默认端口27017 2 port = 27017 3 4 # 指定MongoDB日志文件,注意是指定文件不是目录 5 logpath = /usr/mongodb/mongodb-linux-x86_64-2.4.8/logs/mongodb.log 6 # 使用追加的方式写日志 7 logappend = true 8 9 # 指定数据库路径 10 dbpath = /usr/mongodb/mongodb-linux-x86_64-2.4.8/data 11 #设置每个数据库将被保存在一个单独的目录 12 directoryperdb = true 13 14 # 启用验证 15 auth = false 16 17 #以守护进程的方式运行MongoDB,创建服务器进程 18 fork = true 19 20 #安静输出 21 quiet = true
在/etc/init.d/目录下新建脚本文件mongodb
1 #!/bin/sh 2 3 ### BEGIN INIT INFO 4 # Provides: mongodb 5 # Required-Start: 6 # Required-Stop: 7 # Default-Start: 2 3 4 5 8 # Default-Stop: 0 1 6 9 # Short-Description: mongodb 10 # Description: mongo db server 11 ### END INIT INFO 12 13 . /lib/lsb/init-functions 14 15 PROGRAM=/usr/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongod 16 MONGOPID=`ps -ef | grep 'mongod' | grep -v grep | awk '{print $2}'` 17 18 test -x $PROGRAM || exit 0 19 20 case "$1" in 21 start) 22 ulimit -n 3000 23 log_begin_msg "Starting MongoDB server" 24 $PROGRAM -f /usr/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongodb-config.ini 25 log_end_msg 0 26 ;; 27 stop) 28 log_begin_msg "Stopping MongoDB server" 29 if [ ! -z "$MONGOPID" ]; then 30 kill -15 $MONGOPID 31 fi 32 log_end_msg 0 33 ;; 34 status) 35 ;; 36 *) 37 log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}" 38 exit 1 39 esac 40 41 exit 0
用chmod +x /etc/init.d/mongodb 命令允许该脚本可被执行
接着运行下面的命令注册开机脚本:
1 update-rc.d mongodb defaults
你也可以通过update-rc.d -f mongodb remove 删除
重新启动服务器,通过ps -def | grep mongod 可以查看到自启动的服务进程,然后可以通过下面的命令关闭/启动服务
sudo service mongodb stop
sudo service mongodb start
权限:
进入/usr/mongodb/mongodb-linux-x86_64-2.4.8/bin,执行./mongo(修改端口后./mongo 192.168.1.100:xxxx)
1 use admin 2 3 db.addUser('test','test') 4 5 db.auth('test','test') 6 #查看用户 7 db.system.users.find() 8 9 #试验权限 10 show collections
就创建了一个用户名test,密码test的管理员帐号。
修改mongodb-config.ini文件中auth = true,重启服务。