树莓派下MongoDB安装及使用

树莓派下安装mongodb

1. 安装

sudo apt-get install mongo -y

在根目录下新建 /data/db

运行 mongod

开启27017端口

关闭进程 ps aux | grep mongod

kill -9 pid

1
2
3
4
5
6
root@pi:/home/pi# ps aux | grep mongod

mongodb 1235 1.4 4.1 237776 39316 ? Ssl 00:39 0:07 /usr/bin/mongod --config /etc/mongodb.conf
root 1436 0.0 0.0 7568 480 pts/0 S+ 00:47 0:00 grep mongod
root@pi:/home/pi#
root@pi:/home/pi# kill -9 1235

2. 开启端口

iptables –version

开启27017端口

iptables -I INPUT -i eth0 -p tcp –dport 27017 -j ACCEPT
iptables -I OUTPUT -o eth0 -p tcp –sport 27017 -j ACCEPT

关闭80端口
iptables -I INPUT -i eth0 -p tcp –dport 27017 -j DROP
iptables -I OUTPUT -o eth0 -p tcp –sport 27017 -j DROP

3. 关闭端口绑定

sudo vi /etc/mongodb.conf

注释掉bindIp或者修改成当前机器的某一个ip地址

启动 mongod

远程访问 mongo –host 192.168.0.106 –port 27017

4. mongodb存在位置

/usr/bin/mongod

–config /etc/mongodb.conf

5. 添加验证用户

sudo vi /etc/mongodb.conf

打开 auth=true

重新打开mongod

mongo

命令

use admin

db.addUser({user:”admin”,pwd:”admin”,roles:[“dbAdmin”]})

db.auth(“admin”,”admin”)

show tables

db.system.users.find()

use bike

db.addUser({user:”bike”,pwd:”123456”,roles:[“readWrite”]})

6. 添加命令

原文 https://blog.csdn.net/five3/article/details/54632932

mongo的用户分为2类,一类是admin用户,用户信息存储位置为admin数据库的system.users集合,admin用户为super user可以访问所有数据库,只有拥有对应的权限;
另一类是普通数据库的用户,用户信息存储位置为对应数据库下的system.users集合,此类用户只拥有所在数据库的访问权限。

需要注意的点:
1、给mongo创建用户的时候,需要先创建一个admin用户,然后再创建具体数据库的用户。
2、创建用户前不要使用带–auth参数来启动mongo,需要以非认证模式启动,用户创建成功后再以认证模式启动。

6.1. 2.4以前版本 addUser

1
2
3
4
5
6
7
8
9
10
11
use admin
db.addUser("root", "root") ##读写权限
db.addUser("admin", "admin", true) ##只读权限
show tables
db.system.users.find() ##查询super admin用户

use youdb ##切换到具体的业务DB
db.addUser("user", "user") ##读写权限
db.addUser("user2", "user2", true) ##只读权限
show tables
db.system.users.find() ##查询youdb数据的用户

6.2. 2.4以后版本 addUser

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use admin
db.addUser({
user:'root',
pwd:'root',
roles:[
"readWrite", ##admin数据库的读写权限
"dbAdmin", ##admin数据库的管理权限
"userAdmin"], ##admin数据库的用户管理权限
otherDBRoles:{
youdb:[
"readWrite", ##youdb数据库的读写权限
"dbAdmin", ##youdb数据库的管理权限
"userAdmin" ##youdb数据库的用户管理权限
]}
})
db.addUser({user:'admin',pwd:'admin',roles:["read"]}) ##只读权限
show tables
db.system.users.find() ##查询super admin用户
use youdb ##切换到具体的业务DB
db.addUser({user:'user',pwd:'user',roles:["readWrite"]) ##读写权限
db.addUser({user:'user2',pwd:'user2',roles:["read"]) ##只读权限
show tables
db.system.users.find() ##查询youdb数据的用户

6.3. 2.6以后版本 addUser

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
use admin
db.addUser({
user:'root',
pwd:'root',
roles:[
{
role:"dbAdminAnyDatabase",
db:"admin"
},
{
role:"userAdminAnyDatabase",##任意数据库的用户管理权限
db:"admin"
},
{
role:"userAdmin",##youdb数据库的用户管理权限
db:"youdb"
},
{
role:"readWrite",##youdb数据库的读写权限
db:"youdb"
}]
})
show tables
db.system.users.find() ##查询super admin用户

use youdb ##切换到具体的业务DB
db.addUser({
user:'user',
pwd:'user',
roles:[
{
role:"read",##youdb数据库的只读权限
db:"youdb"
},{
role:"readWrite",##youdb数据库的读写权限
db:"youdb"
}]
})
show tables
db.system.users.find() ##查询youdb数据的用户

6.4. 3.0之后版本 createUser

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
use admin
db.createUser({
user:'root',
pwd:'root',
roles:[
{
role:"dbAdminAnyDatabase",
db:"admin"
},
{
role:"readWriteAnyDatabase",##任意数据库的读写权限
db:"admin"
},
{
role:"userAdmin",##youdb数据库的用户管理权限
db:"youdb"
},
{
role:"readWrite",##youdb数据库的读写权限
db:"youdb"
}]
})
show tables
db.system.users.find() ##查询super admin用户

use youdb ##切换到具体的业务DB
db.addUser({
user:'user',
pwd:'user',
roles:[
{
role:"read",##youdb数据库的只读权限
db:"youdb"
},{
role:"readWrite",##youdb数据库的读写权限
db:"youdb"
}]
})
show tables
db.system.users.find() ##查询youdb数据的用户

6.5. mongo用户认证登录

use admin
db.auth(‘root’, ‘root’)
show dbs

use youdb
db.auth(‘user’, ‘user’)
show dbs

本文结束  感谢您的阅读