树莓派下安装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