mongodb分片环境开启认证
2016-02-29 13:39
706 查看
1.生成keyfile
openssl rand -base64 741 > /var/mongo/mongodb-keyfile
chmod 600 mongodb-keyfile
2.把keyfile copy到其他节点并修改权限
3.修改配置文件
添加:
keyFile=/var/mongo/mongodb-keyfile
4.重新启动mongodb使认证生效
use admin
db.shutdownServer()
5.连接到mongos 添加用户
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "root001",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
db.createUser( {
user: "siteRootAdmin",
pwd: "root001",
roles: [ { role: "root", db: "admin" } ]
});
创建用户报错
mongos> db.createUser(
... {
... user: "myUserAdmin",
... pwd: "root001",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
... }
... )
2016-02-29T10:58:31.051+0800 E QUERY [thread1] Error: couldn't add user: clock skew of the cluster 192.168.1.74:50000,192.168.1.69:50000,192.168.1.63:50000 is too far out of bounds to allow distributed locking. :
_getErrorWithCode@src/mongo/shell/utils.js:23:13
DB.prototype.createUser@src/mongo/shell/db.js:1225:11
@(shell):1:1
原因是由于各个节点时间不一致导致的,开启服务器的ntp服务同步时间
ntpdate -u 0.centos.pool.ntp.org
时间一致后再次创建用户,问题解决
创建特定数据库的用户
db.createUser(
{
user: "productsDBAdmin",
pwd: "password",
roles:
[
{
role: "dbOwner",
db: "wangwei"
}
]
}
)
认证
db.auth("productsDBAdmin","password")
openssl rand -base64 741 > /var/mongo/mongodb-keyfile
chmod 600 mongodb-keyfile
2.把keyfile copy到其他节点并修改权限
3.修改配置文件
添加:
keyFile=/var/mongo/mongodb-keyfile
4.重新启动mongodb使认证生效
use admin
db.shutdownServer()
5.连接到mongos 添加用户
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "root001",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
db.createUser( {
user: "siteRootAdmin",
pwd: "root001",
roles: [ { role: "root", db: "admin" } ]
});
创建用户报错
mongos> db.createUser(
... {
... user: "myUserAdmin",
... pwd: "root001",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
... }
... )
2016-02-29T10:58:31.051+0800 E QUERY [thread1] Error: couldn't add user: clock skew of the cluster 192.168.1.74:50000,192.168.1.69:50000,192.168.1.63:50000 is too far out of bounds to allow distributed locking. :
_getErrorWithCode@src/mongo/shell/utils.js:23:13
DB.prototype.createUser@src/mongo/shell/db.js:1225:11
@(shell):1:1
原因是由于各个节点时间不一致导致的,开启服务器的ntp服务同步时间
ntpdate -u 0.centos.pool.ntp.org
时间一致后再次创建用户,问题解决
创建特定数据库的用户
db.createUser(
{
user: "productsDBAdmin",
pwd: "password",
roles:
[
{
role: "dbOwner",
db: "wangwei"
}
]
}
)
认证
db.auth("productsDBAdmin","password")
相关文章推荐
- 使用 MongoDB 须知
- mongodb远程连接
- Java 操作MongoDb 增删改查
- MongoDB的Java驱动使用整理
- mongodb Replica Set搭建过程
- mongodb启动出现问题解决方法。
- mongodb主从复制及副本集的部署
- mongodb搭建校内搜索引擎——内容查询与排序2.0
- [MongoDB]Python 操作 MongoDB
- [MongoDB]mongo命令行工具
- Centos环境下MongoDB安装流程
- [MongoDB]安装 MongoDB 数据库
- mongodb搭建校内搜索引擎——内容查询与排序1.0
- mongodb 学习笔记 04 -- 游标、索引
- mongodb学习相关网址
- mongodb常用命令
- MongoDB安装
- appfog下用客户端管理你的mongodb、mysql(类似)
- MONGODB 查询
- JAVA插入Windows32位mongoDB数据库sockect write error异常的解决