[转载] Centos7 安装Mongodb4.0
官网安装教程地址:docs.mongodb.com/manual/tuto…
1、创建仓库文件:
vi /etc/yum.repos.d/mongodb-org-4.0.repo
然后复制下面配置,保存退出
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
2、yum安装
yum install -y mongodb-org
没有权限就在前面加: sudo
3、修改配置文件
MongoDB默认将数据文件存储在/var/lib/mongo目录,默认日志文件在/var/log/mongodb中。如果要修改,可以在 /etc/mongod.conf 配置中指定备用日志和数据文件目录。 安装完毕后修改配置文件:
vi /etc/mongod.conf
##修改配置文件的 bind_ip, 默认是 127.0.0.1 只限于本机连接。所以安装完成后必须把这个修改为 0.0.0.0 ,否则通过别的机器是没法连接的!
修改日志存放路径: path
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
修改数据文件存放路径:
# Where and how to store data.
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
修改允许远程连接:
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
4、启动、停止、重启
#启动
service mongod start
#停止
service mongod stop
#重启
service mongod restart
#查看mongoDB是否启动成功:
chkconfig mongod on
#或者
cat /var/log/mongodb/mongod.log
5、创建用户与授权
mongodb的用户名和密码是基于特定数据库的,而不是基于整个系统的。所有所有数据库db都需要设置密码 启动:
service mongod start
登录mongo
# mongo
MongoDB shell version v4.0.9
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
show dbs
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
>
进入admin数据库 use admin
> use admin
switched to db admin
>
创建管理员账户
> db.createUser({ user: "mongo", pwd: "mongo1234", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
Successfully added user: {
"user" : "mongo",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
>
# mongodb中的用户是基于身份role的,该管理员账户的 role是 userAdminAnyDatabase。 ‘userAdmin’代表用户管理身份,’AnyDatabase’ 代表可以管理任何数据库。
验证创建用户是否成功
> db.auth("mongo", "mongo1234")
1
> exit
bye #退出
# 如果返回1,则表示成功。
修改配置 vi /etc/mongod.conf
#security:
security:
authorization: enabled
#注意缩进,缩进参照配置文件其他配置。缩进错误可能重启不成功。
找到#security: 取消注释,修改为:
security:
authorization: enabled #注意缩进,缩进参照配置文件其他配置。缩进错误可能第6步重启不成功。
重启mongo
service mongod restart
进入mongodb
[root@vultr ~]# mongo
MongoDB shell version v4.0.9
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("c672f4f9-93dc-4078-a62a-2b539c14754e") }
MongoDB server version: 4.0.9
> use admin
switched to db admin
> db.auth("mongo", "mongo1234")
1
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
>
创建新的数据库
> use mallport
switched to db mall-port
> db
mallport
>
为新的数据库创建管理员用户与密码
> db.createUser({ user: "malladmin", pwd: "malladmin1234", roles: [{ role: "dbOwner", db: "mallport" }] })
Successfully added user: {
"user" : "malladmin",
"roles" : [
{
"role" : "dbOwner",
"db" : "mallport"
}
]
}
>
#rote:dbOwner 代表数据库所有者角色,拥有最高该数据库最高权限。比如新建索引等
新建数据库读写账户
> db.createUser({ user: "mallport", pwd: "mallport1234", roles: [{ role: "readWrite", db: "mallport" }] })
Successfully added user: {
"user" : "mallport",
"roles" : [
{
"role" : "readWrite",
"db" : "mallport"
}
]
}
>
#该用户用于该数据的读写,只拥有读写权限。