[转载] 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"
		}
	]
}
>
#该用户用于该数据的读写,只拥有读写权限。

原文地址:https://juejin.im/post/5cd15e74e51d453a6c23b07b

原文地址:https://www.cnblogs.com/ghhjanes/p/11285815.html