1. 创建超级用户密码
- 管理用户权限:
userAdminAnyDatabase
; - 读取数据权限:
readWriteAnyDatabase
;
进入 mongo 客户端:
$> mongo
使用 admin 库:
> use admin;
或者使用你自己的库:
> use youDBname;
创建管理员帐号:
db.createUser({user:"admin",pwd:"mypassword#",roles:["userAdminAnyDatabase", "readWriteAnyDatabase"]})
创建的账号为 admin.admin
,即 admin 库中的 admin 用户
可以在 admin
库中的 system.users
表中查看
----- 或者 -----
创建的账号为 youDBname.admin
,即 youDBname 库中的 admin 用户
可以在 youDBname
库中的 system.users
表中查看
2. 创建普通用户密码 用于进行普通读写操作
db.createUser({user:"testuser",pwd:"mypassword",roles: [{role:"readWrite",db:"yourDBname"}]})
更新用户:
db.updateUser(username, { user object })
删除用户:
db.dropUser(username)
3. 编辑配置文件
yum 安装的话,打开配置文件:
/etc/mongo.conf
修改 ** bindIp**,让外网可以访问:
net:
port: 27017
bindIp: 0.0.0.0
添加权限,外网访问需要密码:
security:
authorization: "enabled"
如果是阿里云服务器,千万别忘了在安全中心把 27017 的端口开放
4. 安装报错:
Server has startup warnings:
WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
We suggest setting it to 'never'
WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
We suggest setting it to 'never'
WARNING: soft rlimits too low. rlimits set to 4096 blablabla...
错误 1. WARNING: soft rlimits too low. rlimits set to 4096
解决办法:
修改配置文件 /etc/security/limits.conf,添加配置信息:
[root@localhost ~]# vim /etc/security/limits.conf
添加:
mongod soft nofile 64000
mongod hard nofile 64000
mongod soft nproc 32000
mongod hard nproc 32000
重启 mongod 服务:
[root@localhost ~]# service mongod restart
错误 2. WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
解决办法:
运行:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
>>
是追加内容到文件
>
是覆盖内容到文件
重启 mongod 服务
大功告成。。。