Linux下安装MongoDB各种坑记录及教程

1.MongoDB2.x和3.x命令不同,3.x使用 db.createUser({user: “user”,pwd: “userpassword”,roles: [ { role: “readWrite”, db: “test” } ]})创建角色

注:创建角色前要选择对应db,b不然可能存在创建的用户再选择了某一db后无法登录的情况。

2.有些版本不同无法复制数据库

3.6.2无法copyDatabase3.2.6

3.MongoDB2.x认证方式为MONGODB-CR,3.x为 SCRAM-SHA-1

教程:

一、下载对应安装包https://www.mongodb.com/download-center#community (因为是CentOS,所以下载rhel版本,另外右下角可以找到对应历史版本)

二、上传到服务器,解压缩到某一文件下,在其中的bin目录下创建文件mongod.conf,

其内容为:

#数据库数据存放目录
dbpath=/data/mongodb/db
#数据库日志存放目录
logpath=/data/mongodb/logs/mongodb.log
#以追加的方式记录日志
logappend = true
#端口号 默认为27017
port=27017
#以后台方式运行进程
fork=true
#开启用户认证
auth=true
bind_ip = 0.0.0.0

注:确认是否存在对应dbpath和logpath路径,不存在则创建

三、执行./mongod -f mongod.conf命令

出现如上页面证明服务成功启动。

四、执行./mongo ,然后执行use admin,再执行 db.createUser( { user: “root”, pwd: “root密码”, roles: [ { role: “root”, db: “admin” } ] } ); 创建用户。

注:此时已经可以用远程登录了

五、创建不同身份用户

注:命令:

db.createUser( { user: “root”, pwd: “123”, roles: [ { role: “root”, db: “admin” } ] } );
db.createUser({user:”admin”,pwd:”123″,roles:[ { role: “userAdminAnyDatabase”, db: “admin” } ]})
db.createUser({user: “lsj”,pwd: “123”,roles: [ { role: “readWrite”, db: “laosiji” } ]})

六、关闭服务

七、退出

exit