mongodb分片集群认证
- 格式:pdf
- 大小:321.90 KB
- 文档页数:3
mongodb高手课笔记MongoDB高手课笔记。
MongoDB是一种开源的文档数据库管理系统,它具有高度的灵活性和可扩展性,适用于各种应用场景。
在MongoDB高手课中,我们学习了许多关于MongoDB的高级概念和技术。
下面是我整理的一些笔记,希望能对你有所帮助。
1. 数据建模:MongoDB是面向文档的数据库,数据以文档的形式存储,每个文档是一个键值对的集合,类似于JSON对象。
在设计数据模型时,要根据应用的查询需求和数据访问模式来决定文档结构和集合的组织方式。
通过嵌套文档和引用文档的方式来处理关联数据,并根据具体情况选择合适的方式。
2. 查询优化:使用索引可以大大提高查询性能。
在设计索引时,要考虑查询的字段、查询的频率以及数据的写入性能之间的平衡。
使用复合索引可以优化多个字段的组合查询。
了解查询计划和慢查询日志可以帮助我们分析和优化查询性能。
3. 数据分片:MongoDB支持数据分片,可以将数据分布在多个节点上,实现水平扩展。
在进行数据分片时,要考虑数据的划分策略、数据的均衡性以及分片键的选择。
了解数据迁移和数据平衡的机制,可以帮助我们监控和管理分片集群。
4. 安全性和权限控制:MongoDB提供了多种安全性和权限控制的机制,包括访问控制、认证和授权。
启用访问控制可以限制对数据库的访问,并设置用户的角色和权限。
使用TLS/SSL可以加密数据传输,增加数据的安全性。
5. 备份与恢复:定期进行数据备份是保证数据安全的重要手段。
可以使用mongodump工具进行备份,使用mongorestore工具进行恢复。
可以使用副本集来实现数据的冗余备份和高可用性。
6. 性能监控和调优:使用MongoDB提供的性能监控工具,如mongostat和mongotop,可以实时监控数据库的状态和性能指标。
根据监控数据,可以进行性能调优,如优化查询、调整索引、增加硬件资源等。
以上只是MongoDB高手课中的一些重点内容,MongoDB还有很多其他的高级特性和用法。
27017认证条件27017认证条件是指MongoDB数据库的专业认证要求,用于评估和验证MongoDB开发者的技能和知识水平。
以下是对27017认证条件的详细解释,包括考试内容和要求。
27017认证条件主要包括四个方面的内容:基础知识、操作和维护、性能诊断和调优、以及安全和权限管理。
1.基础知识:在基础知识部分,考生需要掌握MongoDB的基本概念和语法,包括数据模型、集合和文档的概念,以及查询和更新数据的常用方法等。
此外,还需要了解MongoDB的架构和数据复制、分片等高级特性。
2.操作和维护:在操作和维护方面,考生需要熟悉MongoDB数据库的安装和配置过程,能够使用命令行工具或图形界面来管理数据库的运行、备份和恢复等操作。
此外,还需要了解并能够处理数据库的常见故障和性能问题,以及监控和优化数据库的性能。
3.性能诊断和调优:性能诊断和调优是MongoDB认证中的一个重要内容,考生需要能够使用系统工具和命令来诊断数据库的性能瓶颈,并能够对数据库进行调优和优化。
具体包括索引设计、查询优化、内存和磁盘的使用优化等方面。
4.安全和权限管理:在安全和权限管理方面,考生需要了解MongoDB的安全机制和认证授权方式,并能够为数据库配置访问控制,以及设置用户角色和权限等内容。
此外,还需要了解数据库的备份和恢复机制,以及数据加密和安全传输等相关知识。
总结起来,27017认证条件是为了评估和验证MongoDB开发者的专业技能和知识水平。
考生需要具备基本的基础知识,熟悉数据库的操作和维护,能够诊断和调优性能问题,以及具备安全和权限管理方面的能力。
通过27017认证,能够证明开发者掌握了MongoDB数据库的核心技术,具备高效使用和管理MongoDB的能力。
MongoDB面试常见问题1.概述M o ng oD B是一款非关系型数据库,由于其灵活性和可扩展性,在互联网行业被广泛应用。
在面试过程中,掌握M on go DB的基本概念和常见问题是必要的。
本文将列举一些常见的M ong o DB面试问题及其答案,帮助读者更好地准备M ong o DB面试。
2.数据模型2.1什么是文档(Do c u m e n t)?答:文档是M on go DB存储数据的基本单位,类似于关系型数据库中的一行记录。
每个文档由一组键值对组成,是一个动态的、自我描述的数据结构。
2.2什么是集合(Co l l e c t i o n)?答:集合是一组文档的有序集合,类似于关系型数据库中的表。
集合名为字符串,是对应文档的逻辑分组。
2.3M o n g o D B中的数据存储方式有哪些?答:Mo ng oD B支持多种数据存储方式,包括嵌入式文档、数组和引用。
嵌入式文档将一个文档嵌入到另一个文档中,数组可以包含多个文档,引用可以在不同文档中引用其他文档的主键。
2.4什么是主键(Pr i m a r y K e y)?答:在M on go DB中,每个文档都必须有一个主键,用于唯一标识该文档。
主键可以是任何字段,常用的是名为"_id"的字段。
3.查询和索引3.1如何执行查询操作?答:Mo ng oD B使用fi n d()方法执行查询操作。
可以使用查询操作符(如$e q、$g t、$lt等)指定查询条件,并使用投影操作符(如$p ro je ct、$li mi t、$sk ip等)进行结果筛选。
3.2什么是索引?答:索引是一种优化数据查询的数据结构,可以加快查询速度。
在M o ng oD B中,可以通过cr ea te In de x()方法创建索引,常见的索引类型包括单字段索引、组合索引和文本索引等。
3.3如何选择合适的索引?答:选择合适的索引需要考虑查询的频率、过滤条件的选择以及索引的大小等因素。
【MongoDB配置篇】MongoDB配置⽂件详解⽬录MongoDB实例的运⾏离不开相应的参数配置,⽐如对数据库存放路径dbpath的配置,对于参数的配置,可以在命令⾏以选项的形式进⾏配置,也可以将配置信息列⼊配置⽂件进⾏配置。
但是,使⽤配置⽂件将会使对mongod和mongos的管理变得更加容易,本篇将会对配置⽂件进⾏详细的讲解。
1 数据库环境[mongod@strong ~]$ mongod --versiondb version v4.2.0git version: a4b751dcf51dd249c5865812b390cfd1c0129c30OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013allocator: tcmallocmodules: nonebuild environment:distmod: rhel62distarch: x86_64target_arch: x86_642 配置⽂件2.1 配置⽂件格式MongoDB配置⽂件使⽤YAML的格式。
2.2 配置⽂件的使⽤对于配置⽂件的使⽤,在mongod或mongos中指定--config或-f选项。
1)指定--config选项[mongod@strong ~]$ mongod --config /etc/f2)指定-f选项[mongod@strong ~]$ mongod -f /etc/f3 配置⽂件核⼼选项3.1 systemLog选项1)选项systemLog:verbosity: <int>quiet: <boolean>traceAllExceptions: <boolean>syslogFacility: <string>path: <string>logAppend: <boolean>logRotate: <string>destination: <string>timeStampFormat: <string>component:accessControl:verbosity: <int>command:verbosity: <int># COMMENT additional component verbosity settings omitted for brevity2)说明verbosity:默认为0,值范围为0-5,⽤于输出⽇志信息的级别,值越⼤,输出的信息越多;quiet:mongod或mongos运⾏的模式,在该模式下限制输出的信息,不推荐使⽤该模式;traceAllExceptions:打印详细信息以便进⾏调试;path:⽇志⽂件的路径,mongod或mongos会将所有诊断⽇志信息发送到该位置,⽽不是标准输出或主机的syslog上;logAppend:默认为false,若设为true,当mongod或mongos实例启动时,会将新的条⽬追加到已存在的⽇志⽂件,否则,mongod会备份已存在的⽇志,并创建新的⽇志⽂件;destination:指定⽇志输出的⽬的地,具体值为file或syslog,若设置为file,需指定path,该选项未指定,则将所有⽇志输出到标准输出;timeStampFormat:⽇志信息中的时间格式,默认为iso8601-local,该选项有三个值,分别为ctime、iso8601-utc和iso8601-local;3.2 processManagement选项1)选项processManagement:fork: <boolean>pidFilePath: <string>timeZoneInfo: <string>2)说明fork:默认值为false,设置为true,会激活守护进程在后台运⾏mongod或mongos进程;pidFilePath:指定mongod或mongos写PID⽂件的路径,不指定该值,则不会创建PID⽂件;3.3 cloud选项1)选项cloud:monitoring:free:state: <string>tags: <string>2)说明state:激活或禁⽤免费的MongoDB Cloud监控,该选项有以下三个值,分别为runtime、on和off,默认为runtime;在运⾏时可以通过db.enableFreeMonitoring()和db.disableFreeMonitoring()tags:描述环境上下⽂的可选标记;3.4 net选项1)选项net:port: <int>bindIp: <string>bindIpAll: <boolean>maxIncomingConnections: <int>wireObjectCheck: <boolean>ipv6: <boolean>unixDomainSocket:enabled: <boolean>pathPrefix: <string>filePermissions: <int>tls:certificateSelector: <string>clusterCertificateSelector: <string>mode: <string>certificateKeyFile: <string>certificateKeyFilePassword: <string>clusterFile: <string>clusterPassword: <string>CAFile: <string>clusterCAFile: <string>CRLFile: <string>allowConnectionsWithoutCertificates: <boolean>allowInvalidCertificates: <boolean>allowInvalidHostnames: <boolean>disabledProtocols: <string>FIPSMode: <boolean>compression:compressors: <string>serviceExecutor: <string>2)说明port:MongoDB实例监听客户端连接的TCP端⼝,对于mongod或mongos实例,默认端⼝为27017,对于分⽚成员,默认端⼝为27018,对于配置服务器成员,默认端⼝为27019;bindIp:默认值为localhost。
MongoDB的安装及配置⽂件选项全解安装部分1. 安装包1.1 mongodb-org可以⾃动安装以下的四个包1.2 mongodb-org-servermongod进程和配置⽂件,启动脚本1.3 mongodb-org-mongosmongos进程1.4 mongodb-org-shellmongo shell1.5 mongodb-org-tools其他mongodb⼯具,mongoimport,mongoexport,mongodump,mongrestore,mongofiles,bsondump,mongooplog,mongoperf,mongostat,mongotop, (mongosniff)2. 脚本⽂件2.1 /etc/rc.d/init.d/mongod启动脚本2.2 /etc/mongod.conf配置⽂件3. 安装mongodb3.1 配置yum源/etc/yum.repos.d/mongodb.repo ->[mongodb]name=MongoDB Repositorybaseurl=/repo/redhat/os/x86_64/gpgcheck=0enabled=1如果是32bit系统[mongodb]name=MongoDB Repositorybaseurl=/repo/redhat/os/i686/gpgcheck=0enabled=13.2 安装mongodb版本sudo yum install mongodb-org安装指定版本mongodbyum install mongodb-org-2.6.1 mongodb-org-server-2.6.1 mongodb-org-shell-2.6.1 mongodb-org-mongos-2.6.1 mongodb-org-tools-2.6.13.3 为了避免⽆意识的升级/etc/yum.conf ->exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools4. 运⾏mongodb注意mongodb的默认端⼝和SELinux服务的状态。
mongodb 分片原理MongoDB 分片是一种用于处理大量数据的横向扩展方法,允许将数据分布到多个服务器上。
分片可以在MongoDB 中实现水平扩展,提高系统的容量和性能。
以下是MongoDB 分片的基本原理:1. 分片键(Shard Key):-在MongoDB 中,数据根据一个称为分片键(Shard Key)的字段进行分片。
分片键的选择非常关键,它应该能够确保数据均匀分布,避免热点(hotspot)问题。
-分片键通常是在文档中的一个字段,MongoDB 根据这个字段的值来决定将文档存储在哪个分片上。
2. 分片集合(Sharded Collection):-分片集合是一个普通的MongoDB 集合,但被配置为进行分片。
这样的集合存储在多个分片服务器上,每个分片负责存储数据的一部分。
3. Config 服务器:-MongoDB 使用Config 服务器来跟踪每个分片中数据的范围和位置。
Config 服务器存储了分片集合的元数据,包括分片键的范围和分片的位置信息。
4. Mongos 路由器:-Mongos 是一个路由器,它位于应用程序和MongoDB 分片集群之间。
应用程序通过Mongos 与整个集群交互,Mongos 负责将请求路由到适当的分片上。
5. 数据迁移:-当有新的分片加入集群或现有的分片移除时,MongoDB 会自动进行数据迁移。
数据迁移确保分片集合中的数据保持均匀分布。
6. 均衡器(Balancer):- MongoDB 集群中有一个均衡器,它会监视每个分片上的数据量,并在需要时触发数据迁移以保持均衡。
均衡器可以手动启动或自动运行。
MongoDB 分片的主要优势在于它允许数据库在数据量增加时水平扩展,通过添加更多的分片来处理更多的负载。
分片键的选择和分片集群的规划是关键的设计决策,因为它们直接影响了系统的性能和可扩展性。
MongoDB_使用手册-中文版MongoDB 使用手册-中文版1:简介1.1 MongoDB 简介1.2 MongoDB 的优势1.3 安装 MongoDB1.4 启动和关闭 MongoDB2:数据库操作2.1 创建数据库2.2 切换数据库2.3 删除数据库2.4 数据库的备份和还原2.5 数据库的访问控制3:集合操作3.1 创建集合3.2 删除集合3.3 查找集合3.4 更新集合3.5 排序和限制集合结果4:文档操作4.1 插入文档4.2 查询文档4.3 更新文档4.4 删除文档4.5 索引和性能优化5:聚合操作5.1 聚合管道5.2 查询优化技巧5.3 数据分析和处理6:数据备份和恢复6.1 数据备份策略6.2 数据恢复方法7:复制和分片7.1 复制集7.2 分片集群8:安全性和权限控制8.1 认证和授权8.2 数据加密8.3 安全配置建议9: MongoDB 驱动程序9.1 Python 驱动程序 9.2 Java 驱动程序9.3 Node:js 驱动程序 9.4 :NET 驱动程序10:性能调优10:1 集合级别的优化 10:2 查询优化10:3 索引优化10:4 内存和磁盘配置11:故障排除11.1 常见问题11.2 日志分析11.3 性能监控12: MongoDB 与关系型数据库的比较12.1 数据模型比较12.2 查询语言比较12.3 事务和一致性比较本文档涉及附件:1:示例代码文件:[附件1](附件1:zip)2:配置文件示例:[附件2](附件2:txt)本文所涉及的法律名词及注释:1:认证和授权:指通过身份验证和权限控制来确保只有经过授权的用户才能访问和操作数据库的过程。
2:数据加密:指使用加密算法对数据库中的敏感数据进行加密保护的过程。
3:复制集:指一组 MongoDB 服务器的集合,其中包含主服务器(primary)和多个副本服务器(secondary),用于提供数据冗余和高可用性支持。
mongodb 高可用方案MongoDB是一种流行的开源文档数据库,提供了高可用性和灵活性的解决方案。
为了实现高可用性,我们可以采用以下几种MongoDB的高可用方案:1. 副本集(Replica Set):副本集是MongoDB用于提供数据冗余和故障恢复的基本方式。
一个副本集由多个MongoDB实例组成,其中一个是主节点(Primary),其余是副本节点(Secondary)。
主节点处理所有的读写请求,副本节点复制主节点的数据,并提供读操作的能力。
如果主节点发生故障,副本集会自动进行主节点选举,选择一个新的主节点来接管服务。
2. 故障转移(Failover):故障转移是指当主节点不可用时,副本集能够自动选择一个新的主节点来保证服务的可用性。
副本集通过心跳机制来检测主节点的可用性,如果主节点不可用,副本集会自动进行选举以选择一个新的主节点。
这种自动故障转移可以在毫秒级别完成,不会对应用程序的正常运行产生明显的影响。
3. 分片集群(Sharded Cluster):分片集群是一种横向扩展的解决方案,用于处理大规模数据集。
在分片集群中,数据被分散存储在多个分片(Shard)上。
每个分片只存储部分数据,因此能够扩展到更大的存储容量和处理吞吐量。
分片集群还提供了故障恢复和自动扩容的功能,当某个分片发生故障或存储不足时,系统可以自动将数据迁移或重新分片来保证服务的可用性。
4. 心跳和延迟检测:为了进一步增加可用性和冗余性,可以在不同的地理位置部署MongoDB节点。
通过在多个地理位置部署节点,可以提供数据的快速复制和故障转移,以保证服务的高可用性。
此外,还可以通过定期发送心跳信号和检测延迟来实时监测节点的健康状况,以便及时发现并处理故障。
总结起来,MongoDB提供了多种高可用方案,包括副本集、故障转移、分片集群以及心跳和延迟检测等。
这些方案能够有效地提供数据冗余、故障恢复和灵活的扩展能力,以确保MongoDB系统的高可用性和可靠性。
mongodb 面试题MongoDB面试题1. MongoDB是什么?它的特点和优势有哪些?MongoDB是一个开源的文档数据库,采用NoSQL的思想,以BSON(类似于JSON)格式存储数据。
它的特点和优势如下:- 面向文档:MongoDB使用文档的方式来存储数据,类似于关系型数据库的行,但更加灵活。
不需要事先定义表结构,可以方便地存储多种不同结构的数据。
- 高性能:MongoDB采用了内存映射和预分配技术,提供了高效的读写性能。
它支持水平扩展,可以轻松处理海量数据和高并发请求。
- 强大的查询功能:MongoDB提供了丰富的查询语法和索引机制,支持复杂的查询操作。
它还支持地理位置查询、全文搜索等特殊类型的查询。
- 可扩展性:MongoDB支持分布式部署,可以通过副本集和分片技术实现数据的冗余备份和水平扩展,提高系统的稳定性和可扩展性。
2. 什么是MongoDB副本集?怎么配置一个副本集?MongoDB副本集是由多个节点组成的数据复制集群,其中一个节点是主节点(Primary),负责处理所有的写操作和读操作;其他节点是从节点(Secondary),复制主节点的数据,并可以处理读操作。
配置一个副本集的步骤如下:- 启动多个MongoDB实例,每个实例配置不同的端口和数据目录。
- 在其中一个实例上进行初始化,成为主节点。
- 将其他实例设置为从节点,指定主节点的地址。
- 启动从节点,它们会自动从主节点同步数据。
3. MongoDB的索引有哪些类型?如何创建和使用索引?MongoDB支持多种类型的索引,包括单字段索引、复合索引、文本索引、地理空间索引等。
创建索引可以提高查询性能,加快数据检索的速度。
创建索引的基本步骤如下:- 使用`db.collection.createIndex()`方法创建索引,指定要创建索引的字段和索引类型。
- 可以使用`db.collection.getIndexes()`方法查看已创建的索引。
MongoDB中使⽤的SCRAM-SHA1认证机制摘要:介绍SCRAM是密码学中的⼀种认证机制,全称Salted Challenge Response Authentication Mechanism。
SCRAM适⽤于使⽤基于『⽤户名:密码』这种简单认证模型的连接协议。
SCRAM是⼀个抽象的机制,在其设计中需要⽤到⼀个哈希函数,这个哈希函数是介绍SCRAM是密码学中的⼀种认证机制,全称Salted Challenge Response Authentication Mechanism。
SCRAM适⽤于使⽤基于『⽤户名:密码』这种简单认证模型的连接协议。
SCRAM是⼀个抽象的机制,在其设计中需要⽤到⼀个哈希函数,这个哈希函数是客户端和服务端协商好的,包含在具体的机制名称中。
⽐如SCRAM-SHA1,使⽤SHA1作为其哈希函数。
前⾔基于『⽤户名:密码』这种简单认证模型的协议中,客户端和服务端都知道⼀个⽤户名(username)对应⼀个密码(password)。
在不对信道进⾏加密的前提下,⽆论是直接使⽤明⽂传输『username:password』,还是给password加个哈希的⽅法都low爆了,很容易被⿊客攻击。
⼀个安全性⾼的认证机制起码应该是具备双向认证的,即:1. 服务端需要验证连接上来的客户端知道对应的password2. 客户端需要知道这个声称是服务端的⼈是真正的服务端我们来看看SCRAM是怎么做的。
初始1. 服务端使⽤⼀个salt和⼀个iteration-count,对password进⾏加盐哈希(使⽤H表⽰哈希函数,这⾥就是SHA1,iteration-count就是哈希迭代次数),得到⼀个password[s]:_password[s] = H(password, salt, iteration-count)_2. 服务端拿这个password[s]分别和字符串『Client Key』和『Server Key』进⾏计算HMAC摘要,得到⼀个key[c]和⼀个key[s]:_key[c] = HMAC(password[s], "Client Key")__key[s] = HMAC(password[s], "Server Key")_3. 服务端保存username、H(key[c])、key[s]、salt和iteration-count,没有保存真正的password⼀次认证1. 客户端发送client-first-message给服务端,包含username和client-nonce,其中client-nonce是客户端随机⽣成的字符串2. 服务端返回客户端server-first-message,包含salt,iteration-count和client-nonce|server-nonce,其中server-nonce是服务端随机⽣成的字符串3. 客户端发送client-final-message给服务端,包含client-nonce|server-nonce和⼀个proof[c]。
1.在分片集群环境中,副本集内成员之间需要用keyFile认证,mongos与配置服务器,副本集之间也要keyFile认证,集群所有mongod和mongos实例使用内容相同的keyFile文件
1. 生成密钥文件
1#在其中任意一台机器上生成keyfile
2shell> openssl rand ‐base64 700 > keyfile
3shell> chmod 400 keyfile
4########openssl的下载安装:执行yum ‐y install openssl########
5
2. 分发密钥文件到每一台
1#将keyfile放置在<path‐to‐keyfilie>路径
2shell> mkdir ‐p /opt/mongodb/security/
3shell> mv keyfile /opt/mongodb/security/
4shell> scp ‐r /opt/mongodb/security/ root@192.168.94.45:/opt/mongodb/
5shell> scp ‐r /opt/mongodb/security/ root@192.168.94.57:/opt/mongodb/
2.关闭所有mongod、mongos、configsvr,编辑配置文件,重新启动每台服务器每个实例
1. 关闭所有configsvr、mongod、mongos
1#关闭时,直接killall杀掉所有进程即可
2shell> killall mongod
3shell> killall mongos
4#或者在启动命令后添加 ‐‐shundown依次关闭
5shell> mongod ‐f /opt/mongodb/conf/mongos.conf ‐‐shutdown
6shell> mongod ‐f /opt/mongodb/conf/shard3.conf ‐‐shutdown
7shell> mongod ‐f /opt/mongodb/conf/shard2.conf ‐‐shutdown
8shell> mongod ‐f /opt/mongodb/conf/shard1.conf ‐‐shutdown
9shell> mongod ‐f /opt/mongodb/conf/configsvr.conf ‐‐shutdown
2. 编辑配置文件
1为每一个mongod、mongos、配置服务器的实例其中的配置文件添加认证属性或者在启动实
例时添加‐‐authorization、‐‐keyFile选项
2shell> vi /opt/mongodb/conf/configsvr.conf
3#configsvr.conf 添加以下配置
4security:
5 authorization: enabled #若启动实例报错,可删除该行
6 keyFile: /opt/mongodb/security/keyfile
7shell> vi /opt/mongodb/conf/shard1.conf
8#shard1.conf 添加以下配置
9security:
10 authorization: enabled #若启动实例报错,可删除该行
11 keyFile: /opt/mongodb/security/keyfile
12shell> vi /opt/mongodb/conf/shard2.conf
13#shard2.conf 添加以下配置
14security:
15 authorization: enabled #若启动实例报错,可删除该行
16 keyFile: /opt/mongodb/security/keyfile
17shell> vi /opt/mongodb/conf/shard3.conf
18#shard3.conf 添加以下配置
19security:
20 authorization: enabled #若启动实例报错,可删除该行
21 keyFile: /opt/mongodb/security/keyfile
22shell> vi /opt/mongodb/conf/mongos.conf
23#mongos.conf 添加以下配置
24security:
25 keyFile: /home/mongo/services/keyfile
3. 重新启动每台服务器每个实例
1#mongodb的启动顺序是,先启动所有节点配置服务器,在启动所有节点的分片,最后启动所有节点的mongos
2shell> mongod ‐f /opt/mongodb/conf/configsvr.conf
3shell> mongod ‐f /opt/mongodb/conf/shard1.conf
4shell> mongod ‐f /opt/mongodb/conf/shard2.conf
5shell> mongod ‐f /opt/mongodb/conf/shard3.conf
6shell> mongod ‐f /opt/mongodb/conf/mongos.conf
4. 查看启动日志以及查看进程是否存在
1shell> ps ‐ef|grep mongo
3.建立管理员账号,赋所有权限(admin和config数据库)(任意一台)
1shell> mongo ‐‐port 27017
2mongo> use admin
3#root所有权限
4mongo> db.createUser({user: "admin",pwd: "123456",roles: [ { role:
"root", db: "admin" } ]})
5#授权认证
6mongo> db.auth("admin","123456")
7mongo>use config
8#root所有权限
9mongo>db.createUser({user: "admin",pwd: "123456",roles: [ { role: "root", db: "admin" } ]})
10#授权认证
11mongo>db.auth("admin","123456")
4.登录mongo方式,admin连接mongo集群
1#登录mongo
2mongo 127.0.0.1:27017/admin ‐u admin ‐p 123456
3mongo mongodb://192.168.94.57:27017,192.168.94.44:27017,192.168.94.45:271 07/admin ‐uadmin ‐p123456 ‐‐authenticationDatabase admin
5.为指定数据库添加访问用户,本文为testShard数据库
1use test
2db.createUser(
3 {
4 user:"test",
5 pwd:"test",
6 roles:[
7 {role:"readWrite", db:"test"} #读写权限
8 ]
9 }
10)
11db.auth("test","test")。