启动configsvr

1. 确保mongdb的configsvr是采用service模式启动的,即从/etc/init.d下的脚本启动的,其用户是mongod。

2. 确保mongod的配置文件完全相同。

3. 确保整个集群的所有keyFile文件内容相同。

启动mongos

1. 使用以下命令启动,以确保用户切换为mongod:

runuser -s /bin/bash mongod -c '/usr/bin/mongos --configdb confighost-01:27019,confighost-02:27019,confighost-03:27019 --port 27021 --keyFile /data/mongodb/key.d/mongod.key'

2. 如果发生warning: config servers confighost-01:27019 and confighost-03:27019 differ

可以把configdb目录下的内容删除,然后再次运行configsvr服务。

3. 一切正常后,可以把mongos的启动配置写入脚本/etc/init.d/mongos

4. service mongos start

加入分片

请注意一定在未给admin数据库创建任何用户之前至少加入一个分片,否则可能会导致以后无法加入。

sh.addShard("rs-1/host-11.mycloud.com")

sh.addShard("rs-2/host-21.mycloud.com")

 
为admin用户创建第一个用户
该用户的角色必须是userAdminAnyDatabase
1.在mongos服务器本机登录
mongo --port xxxxx #xxxxx表示mongos的监听端口
use admin
show dbs  #这时可以列出数据库
db.createUser({user: "SysAdmin",pwd: "123",roles: [{role: "userAdminAnyDatabase", db:"admin"}]});
这时退出后再以mongo --port xxxxx登录执行show dbs就显示未授权了。
 
 
重新登录
可以选择在本机登录,也可以从其他机器登录。
本机登录:mongo localhost:27021/admin -u SysAdmin -p 123
其他机器登录:mongo mongos-server:xxxxx/admin -u SysAdmin -p 123
 
为test数据库创建用户
在mongos服务器上以管理员身份登录admin数据库:mongo localhost:27021/admin -u SysAdmin -p 123
为test数据库创建管理员用户:db.createUser({user: "yc-admin",pwd: "123",roles: [ { role: "userAdmin", db: "test" }]});
切换到test数据库:use test
以test管理员身份登录到数据库:db.auth("yc-admin", "123")
创建test的其他用户:
只读用户:db.createUser({user: "yc-read",pwd: "123",roles: [ { role: "read", db: "test" }]});
读写用户:db.createUser({user: "yc-write",pwd: "123",roles: [ { role: "readWrite", db: "test" }]});
 
添加其它分片
切换到admin数据库
use admin
为admin数据库增加userAdmin用户和root角色的用户(假设用户名是admin-root),见上一步。
clusterAdmin用户:db.createUser({user: "yc-cstadmin",pwd: "123",roles: [ { role: "clusterAdmin", db: "admin" }]});
切换到yc-cstadmin用户:db.auth("yc-cstadmin", "123")
添加rs-3分片:sh.addShard("rs-3/host-31.mycloud.com")
 
 
注意:
数据库不同的角色具有不同的权限:
read:只读
readWrite:读写
root:所有
userAdmin:用户管理
clusterAdmin:集群管理和监控
添加分片只能由admin数据库的root进行,其它用户都没有该权限。

mongodb分片认证的更多相关文章

  1. MongoDB 副本集+分片 认证方式搭建

    MongoDB 副本集+分片 认证方式搭建 参考资料: https://www.cnblogs.com/ityouknow/p/7344005.htmlhttps://jorwen-fang.itey ...

  2. MongoDB 分片的原理、搭建、应用

    一.概念: 分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载.基本思想就是将集合切成小块,这 ...

  3. Mongodb安全认证

    Mongodb安全认证在单实例和副本集两种情况下不太一样,单实例相对简单,只要在启动时加上 --auth参数即可,但副本集则需要keyfile. 一.单实例 1.启动服务(先不要加auth参数) 2. ...

  4. Mongodb安全认证及Java调用

    Mongodb安全认证在单实例和副本集两种情况下不太一样,单实例相对简单,只要在启动时加上 --auth参数即可,但副本集则需要keyfile. 一.单实例 1.启动服务(先不要加auth参数) 2. ...

  5. MongoDB 分片的原理、搭建、应用 !

    MongoDB 分片的原理.搭建.应用   一.概念: 分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处 ...

  6. MongoDB 分片集群实战

    背景 在如今的互联网环境下,海量数据已随处可见并且还在不断增长,对于如何存储处理海量数据,比较常见的方法有两种: 垂直扩展:通过增加单台服务器的配置,例如使用更强悍的 CPU.更大的内存.更大容量的磁 ...

  7. MongoDB 分片的原理、搭建、应用 (转)

    一.概念: 分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载.基本思想就是将集合切成小块,这 ...

  8. MongoDB 分片管理(不定时更新)

    背景: 通过上一篇的 MongoDB 分片的原理.搭建.应用 大致了解了MongoDB分片的安装和一些基本的使用情况,现在来说明下如何管理和优化MongoDB分片的使用. 知识点: 1) 分片的配置和 ...

  9. MongoDB分片简单实例

    分片 在Mongodb里面存在另一种集群,就是分片技术,可以满足MongoDB数据量大量增长的需求. 当MongoDB存储海量的数据时,一台机器可能不足以存储数据也足以提供可接受的读写吞吐量.这时,我 ...

随机推荐

  1. apache动态添加模块

    Apache已经安装完毕并投入运行,但是后来却发现部分模块没有加载,当然有两个方法: 1. 一是完全重新编译Apache, 再安装 2. 编译模块为SO文件,使用LoadModule指令加载扩展模块. ...

  2. DD应用实例

    1.将本地的/dev/hdb整盘备份到/dev/hdd dd if=/dev/hdb of=/dev/hdd2.将/dev/hdb全盘数据备份到指定路径的image文件dd if=/dev/hdb o ...

  3. Marble 绘制线

    #include <QtGui/QApplication> #include <marble/MarbleWidget.h> #include <marble/GeoPa ...

  4. wuzhi 五指 基本知识

    参数:m 模块 在于  /coreframe/app/模块文件夹 |默认 content f  php文件 控制器  在于/coreframe/app/模块 /文件.php | 默认 index v ...

  5. sublime 3 最新 LICENSE

    http://blog.sina.com.cn/s/blog_68e267e10102v76h.html

  6. 用CMD开启、关闭软件

    关闭 (正常)  taskkill /IM 1.100.exe 开启 : "路径"

  7. 监控mysql主从

    这里记录了,每次都百度查询多次. zabbix默认包含mysql监控 其中包含 mysql的基本状态监控 MySQL主从监控需要结合自定义 1)目前项目需求 只对 Slave_IO_Running . ...

  8. 数据库 mysql 语句

    LAMP: Linux系统 A阿帕奇服务器 Mysql数据库 Php语言 mysql:常用代码 create table CeShi1( Uid varchar(50) primary key, Pw ...

  9. 小菜鸟安装CocoaPods

    刚来到公司,以前没有用过CocoaPods. 参考的以下两篇文章,都是转载的. 第一篇比较偏技术性,叫做<Mac下CocoaPods安装步骤> http://blog.csdn.net/a ...

  10. php 实现简易模板引擎

    1.MVC简介 MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式(详情自己百度): 1. Model(模型)表示应用程序核心 ...