mongodb3.2.3 复制集安装步骤
mongodb 复制集 测试
node1: 172.18.20.161 47000 (主)
node2: 172.18.20.162 47000 (副)
node3: 172.18.20.163 47000 (副)
node4: 172.18.20.164 47000 (投票)
解压mongodb包,并移到相应用目录。
配置文件:
dbpath = /home/oyabc/mongodb/data/ # 指定数据库路径
logpath = /home/oyabc/mongodb/logs/logs.log # 日志路径
logappend = true # 以追加的方式写日志
port = 47000 # 指定端口号,默认47018
fork = true # 以子进程方式运行
quiet = true # disables all but the most critical entries in output/log file.
#auth = true # 增加验证选项
#bind_ip = 127.0.0.1,172.18.12.2,172.18.12.3
#keyFile= /home/oyabc/mongodb/keyFile
directoryperdb = true # 每个db 存放在单独的目录中
wiredTigerDirectoryForIndexes = true
maxConns = 1000000
nohttpinterface = true
rest = false
profile=1
slowms=1000
storageEngine=wiredTiger
###Replication Options
replSet = im1
oplogSize = 4096
auth keyFile 配置完成后在加权限
启动:
/home/oyabc/mongodb/mongodb323/bin/mongod -f /home/oyabc/mongodb/conf/mongodb.conf
在PRIMARY上登陆并设置权限:
/home/oyabc/mongodb/mongodb323/bin/mongo --port 47000
cfg={ _id:"im1",
members:[
{_id:0,host:'172.18.20.161:47000',priority:2},
{_id:1,host:'172.18.20.162:47000',priority:1},
{_id:2,host:'172.18.20.163:47000',priority:1},
{_id:3,host:'172.18.20.164:47000',arbiterOnly:true}
]
};
> rs.initiate(cfg)
检查状态:
rs.status();
设置权限
use admin
1. 创建管理员账号(全局账号)
use admin //管理员账号只能在admin账户下创建
db.createUser({user:'admin',pwd:'admin',roles:['userAdminAnyDatabase','dbAdminAnyDatabase', 'readAnyDatabase','readWriteAnyDatabase']});
2. 创建数据库账号
use api //创建数据库
db.createUser({user:'api',pwd:'api',roles:[{role:'dbOwner',db:'api'}]})
以上只在 PRIMARY 上操作, 用户,数据等会同步到其他副本上。
所有mongodb重启。
/home/oyabc/mongodb/mongodb323/bin/mongo --port 47000
use admin
db.auth('admin', 'admin'); // 认证
当副本不可用时可以设置 rs.slaveOk();
=======================================
停止服务:
use admin
db.shutdownServer();
给用户授权:
db.grantRolesToUser( "admin" , [ { role: "dbOwner", db: "test" } ]) ;
db.grantRolesToUser( "admin" , ['userAdminAnyDatabase','dbAdminAnyDatabase']) ;
db.grantRolesToUser( "admin" , ['readAnyDatabase','readWriteAnyDatabase']) ;
创建用户:
db.createUser(user, writeConcern)
user这个文档创建关于用户的身份认证和访问信息;
writeConcern这个文档描述保证MongoDB提供写操作的成功报告。
· user文档,定义了用户的以下形式:
{ user: "<name>",
pwd: "<cleartext password>",
customData: { <any information> },
roles: [
{ role: "<role>", db: "<database>" } | "<role>",
...
]
}
user文档字段介绍:
user字段,为新用户的名字;
pwd字段,用户的密码;
cusomData字段,为任意内容,例如可以为用户全名介绍;
roles字段,指定用户的角色,可以用一个空数组给新用户设定空角色;
在roles字段,可以指定内置角色和用户定义的角色。
Built-In Roles(内置角色):
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root
// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 内部角色:__system
PS:关于每个角色所拥有的操作权限可以点击上面的内置角色链接查看详情。
Database User Roles 普通用户角色
read
readWrite
Database Administration Roles管理员角色
dbAdmin可以管理数据库
dbOwner单数据库最大权限,dbAdmin,userAdmin
userAdmin可管理当前数据库用户
Cluster Administration Roles管理员角色
clusterAdmin
clusterManager
clusterMonitor
hostManager
Backup and Restoration Roles 备份和恢复角色
backup
restore
All-Database Roles 所有数据库角色
readAnyDatabase在admin下建立,可以读取所有数据库的信息
readWriteAnyDatabase在admin下建立,可以读写所有数据库的信息
userAdminAnyDatabase在admin下建立,可以管理所有数据库的用户
dbAdminAnyDatabase在admin下建立,可以管理所有数据库的信息(类似于所有数据库的dbAdmin账户)
· writeConcern文档(官方说明)
w选项:允许的值分别是 1、0、大于1的值、"majority"、<tag set>;
j选项:确保mongod实例写数据到磁盘上的journal(日志),这可以确保mongd以外关闭不会丢失数据。设置true启用。
wtimeout:指定一个时间限制,以毫秒为单位。wtimeout只适用于w值大于1。
例如:在products数据库创建用户accountAdmin01,并给该用户admin数据库上clusterAdmin和readAnyDatabase的角色,products数据库上readWrite角色。
use products
db.createUser( { "user" : "accountAdmin01",
"pwd": "cleartext password",
"customData" : { employeeId: 12345 },
"roles" : [ { role: "clusterAdmin", db: "admin" },
{ role: "readAnyDatabase", db: "admin" },
"readWrite"
] },
{ w: "majority" , wtimeout: 5000 } )
验证:
mongo -u accountAdmin01 -p yourpassward --authenticationDatabase products
mongodb3.2.3 复制集安装步骤的更多相关文章
- mongodb-3.2.8 单机复制集安装
规划: replSet 复制集名称: rs1 MongoDB数据库安装安装路径为:/usr/local/mongodb/ 复制集成员IP与端口: 节点1: localhost:28010 (默认的 ...
- mongodb3.4.0复制集的搭建
本次主要介绍一下我们项目中关于mongodb复制集的搭建过程. 部署三台mongodb,分别是在69,70,71上面.71上面是主节点,69和70是从节点.使用mongodb3.4.0版本. 先看一安 ...
- 单机Mongo复制集安装配置(数据库版本:4.x)
官方文档: https://docs.mongodb.com/manual/tutorial/deploy-replica-set-with-keyfile-access-control/#dep ...
- Mongodb 基础 复制集原理和搭建
数据复制原理 开启复制集后,主节点会在local库下生成一个集合叫 oplog.rs,这是一个有限的集合,即大小固定.这个集合记入了整个mongod实例一段时间内数据库的所有变更操作(如:增/删/改) ...
- mongdb复制集搭建
可参考官网教程 复制集增加了数据的冗余同时也提高了mongodb的可靠性,相比传统的主从架构,mongodb具有自动容灾的特性,即主库挂掉后会自动从剩下的从库中选举出一个节点做为主库(不需要人工干预) ...
- MongoDB之 复制集搭建
MongoDB复制集搭建步骤,本次搭建使用3台机器,一个是主节点,一个是从节点,一个是仲裁者. 主节点负责与前台客户端进行数据读写交互,从节点只负责容灾,构建高可用,冗余备份.仲裁者的作用是当主节点宕 ...
- CentOS7 yum方式安装 MongoDB 3.4 复制集
CentOS7 yum方式安装 MongoDB 3.4 环境.准备 Centos7 系统 配置MongoDB的yum源,添加文件/etc/yum.repos.d/mongodb-org-3.4.rep ...
- 安装和配置hadoop集群步骤
hadoop集群的安装步骤和配置 hadoop是由java语言编写的,首先我们肯定要在电脑中安装jdk,配置好jdk的环境,接下来就是安装hadoop集群的步骤了,在安装之前需要创建hadoop用户组 ...
- MongoDB复制集原理、环境配置及基本测试详解
一.MongoDB复制集概述 MongoDB复制集实现了冗余备份和故障转移两大功能,这样能保证数据库的高可用性.在生产环境,复制集至少包括三个节点,其中一个必须为主节点,一个从节点,一个仲裁节点.其中 ...
随机推荐
- linux中断申请之request_threaded_irq
转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=21977330&id=3755609 在linux里,中断处理分 ...
- TransactionScope使用说明
TransactionScope是.Net Framework 2.0滞后,新增了一个名称空间.它的用途是为数据库访问提供了一个“轻量级”[区别于:SqlTransaction]的事物.使用之前必须添 ...
- WSGI服务器实践二--实践一个基本功能的WSGI服务器
由于各种PYTHON框架都实现了WSGI接口,所以,通用性很广的. 在调试过程过,有一个字母拼错,搞了一个小时. 看来PYTHON自带的编辑器没有高亮,不爽. 在有提示的编辑器里一看就看了来啦..:) ...
- 如何在postgresql中模拟oracle的dual表,来测试数据库最基本的连接功能?
还好,网上弄到的,,没有dual的数据库,可以试图用select函数不带from数据表的方式来实现返回值. 一段测试代码: try: conn = psycopg2.connect(database= ...
- wp8 入门到精通 LINQ to SQL
http://msdn.microsoft.com/zh-cn/library/bb397924.aspx LINQ 查询操作中的类型关系 (C#) 使用一个人类发明快速检索的方法 // Northw ...
- 5个让你的SaaS应用大卖的技巧
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 今天推荐的文章和具体的技术无关,但是对于创业的小伙伴应该有帮助. 去年底到今年,企业应用尤其 ...
- 实现Activity刷新(转)
目前刷新Acitivity,只想到几种方法.仅供参考,如果您有更好的方法,请赐教. 程序界面: 点击refresh view可以刷新界面,点击write content可以在EditText中自动写入 ...
- ML 02、监督学习
机器学习算法原理.实现与实践——监督学习 机器学习包括监督学习.非监督学习.半监督学习及强化学习,这里先讨论监督学习. 监督学习的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个 ...
- 电赛总结(二)——AD芯片总结之高速AD9224
一.特性参数 1.12位高速AD 2.高达40MSPS的高速AD芯片 3.噪声小 二.芯片管脚图 三.管脚功能说明 管脚名称 功能 CLK 参考时钟输入端 BIT12-1 数据输出端(1是低位,12是 ...
- Android中的.9.png
智能手机中经常有自动横屏的功能,同一幅界面在随着手机(或平板电脑)中的方向传感器会改变显示的方向,在界面改变方向后,界面上的图形会因为长宽的变化产生拉伸,造成图形的变形.例如下面一个在竖屏时正常显 ...