1.下载mongodb
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.9.tgz
2.解压
tar zxvf mongodb-linux-x86_64-3.2.9.tgz
3.创建数据文件夹和日志文件等
mkdir -p /usr/local/mongodb/data
touch /usr/local/mongodb/mongod.log
touch /usr/local/mongodb/mongodb.conf
4.启动
进入mongo的bin目录下执行
(1)参数启动
./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/mongod.log --logappend --port=27017 --fork
(2) 配置文件启动
./mongod --config /usr/local/mongodb/mongodb.conf
配置文件如下
dbpath=/usr/local/mongodb/data
logpath=/usr/local/mongodb/mongod.log
logappend = true
port = 27017
fork = true # 是否后台运行
auth = true # 是否开启权限认证 默认不开启
5.创建用户(创建完成后需要在阿里云控制台配置防火墙才能连接)
mongo 的两种启动方式:
(1) 需要认证(登录时需要用户名密码,并且数据库和用户名之间也是帮顶的,只能访问该用户权限下的)数据库
./mongod --dbpath=/usr/local/mongodb-linux-x86_64-3.2.9/data --logpath=/usr/local/mongodb-linux-x86_64-3.2.9/mongodb.log --logappend --auth --port=27017 --fork
(2)不需要认证(直接端口号就能登录,可以访问任意数据库)
./mongod --dbpath=/usr/local/mongodb-linux-x86_64-3.2.9/data --logpath=/usr/local/mongodb-linux-x86_64-3.2.9/mongodb.log --logappend --port=27017 --fork
创建超级用户:
谨记:先在不开启认证的情况下,创建用户,之后关闭mongo服务,然后再开启认证,才生效。
db.createUser({
user:'root',
pwd:'root',
customData:{description:"管理员root"},
roles:[{
'role':'root',
'db':'admin'
}]
})
登录认证:
> db.auth("root","root")
db.createUser({'user':"admin","pwd":"admin",roles:[{'role':"readWrite",db:"admin"}]})
创建的admin用户 只在admin库中有读写的
重新登陆 : ./mongo --port 27017 -u admin -p 'admin' --authenticationDatabase 'admin'