目前mongodb已经出到3.x,相对于2.x改动较大,本着学新不学旧的原则来捣鼓nosql数据库。最初想着apt-get安装但是软件源上都是2.x的,遂下载好后传到服务器安装。
不得不说国内的墙太厉害,连mongodb这类人畜无害的都挡了,虽然能够访问官网也能下载,但是速度从来不超过三十k,所以在某盘找到了源文件,下载地址http://pan.baidu.com/s/1nu96i1b,ubuntu64位的。
上传到服务器用tar解压
tar -xf mongodb-linux-x86_64-ubuntu1604-3.2.11.tgz
移动到/opt目录下并重命名为mongodb
mv mongodb-linux-x86_64-ubuntu1604-3.2.11.tgz mongodb
mv mongodb /opt
切换到/opt/mongodb目录下,新建三个文件夹logs(存放日志),conf(存放配置文件),data/db(存放数据文件)
mkdir logs conf data
mkdir data/db
conf目录下新建mongodb.conf文件
#日志位置
logpath=/opt/mongodb/logs/mongodb.log
#是否追加写入日志
logappend=true
#是否以守护进程启动
fork=false
#启动端口号
port=27017
#数据文件存放位置
dbpath=/opt/mongodb/data/db
#是否开启身份认证
#auth=true
把bin目录加到path中,方便操作,加入方法自行百度。
启动命令
mongod -f /opt/mongodb/conf/mongodb.conf
该方式为前台进程,无法做别的操作,常驻后台运行命令,由于日志信息都会写入到日志中,所以为重定向脚本输出,默认会在当前目录创建nohup.out文件
nohup mongod -f mongodb.conf &
注意前面的配置文件中是把auth注释掉了,因为mongodb是没有默认用户,所以先要以无验证方式启动,创建好用户后再打开认证选项。
mongo的用户有一个原则是:用户跟库走(在哪儿库创建的用户就要在哪个库认证,不管这个用户是用来管理谁的)
1.创建用户管理员角色
首先使用mongo命令进入交互环境,然后切换到admin库下
use admin
然后创建admin用户(该用户有管理用户的权限(无操作权限),可在任意库中管理用户,但是先要到admin下认证(用户跟库走))
db.createUser(
{
user:'admin',
pwd:'admin',
roles:[
{role:"userAdminAnyDatabase",db:'admin'}
]
}
)
然后修改配置文件开启认证,重启数据库
2.针对具体库设置用户
首先到admin库下认证admin用户
然后切换到某个库创建这个库的管理用户
然后在该库中认证该角色就能操作该数据库了。
更加详细的用户管理说明见http://www.cnblogs.com/shiyiwen/p/5552750.html