重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
定制开发可以根据自己的需求进行定制,网站设计、成都网站制作构思过程中功能建设理应排到主要部位公司网站设计、成都网站制作的运用实际效果公司网站制作网站建立与制做的实际意义
创建多实例 //创建多实例
关闭防火墙 setenforce //一些阻挡项目
mkdir -p /data/mongodb/mongodb{2,3,4} //创建数据目录
mkdir logs //到/data/mongodb/创建日志文件目录
touch logs/mongodb{2,3,4}.log //创建日志文件
cd logs/到目录下
chmod 777 *.log //赋予权限
//创建多实例配置文件,并开启服务
mongod -f /etc/mongod.conf --shutdown //修改完主配置文件并且进行关闭在开启
mongod -f /etc/mongod.conf //挨个开启所有服务
进入默认的端口 开启复制集
cp -p /etc/mongod.conf /etc/mongod2.conf //地二个实例配置文件
vim /etc/mongod2.conf
path: /data/mongodb/logs/mongod2.log //系统日志存放路径
dbPath: /data/mongodb/mongo //数据存放日志
port: 27018 //端端口
mkdir -p /data/mongodb/ //为其创建系统日志和数据存放日志没有目录
cd /data/mongodb/
mkdir mongo
touch mongod2.log //为其创建系统日志文件
chmod 777 mongod2.log //并且给与权限
mongod -f /etc/mongod2.conf //开启多实例服务
mongo --port 27018 //进入mongodb 27018
netstat -ntap //产看进程
cfg={"_id":"abc","members":[{"_id":0,"host":"192.168.10.5:27017","priority":100},{"_id":1,"host":"192.168.10.5:27018","priority":100},{"_id":2,"host":"192.168.10.5:27019","priority":0},{"_id":3,"host":"192.168.10.5:27020","arbiterOnly":true}]} //注意IP
优先级来判断
priority":100 //高的做为表准节点
priority":0 //低的就作为被动节点
arbiterOnly":true //仲裁节点
rs.initiate(cfg) //初始化刷新 之后就可以看到自己的身份了
rs.isMaster() //查看节点状态
基本的增删改查
db.t1.insert({"id":1,"name":"tom"}) //创建集合
db.t1.find() //查看当前数据
db.t1.update({"id":2},{$set:{"name":"jack"}}) //修改指定内容
db.t1.remove({"id":1}) //删除指定数据
show dbs //显示所有数据库
use local //进入存放日志文件的数据库
show collections //显示数据中的所有的集合
db.oplog.rs.find() #查看日志记录所有操作
模拟表准节点1故障
mongod -f /etc/mongod.conf --shutdown #关闭一主节点服务看看是否别的mongoDB有没有抢占
mongo --port 27018 #此时会选举第二个标准节点为主节点
模拟标注节点2故障
mongod -f /etc/mongod2.conf --shutdown #关闭第二主节点
mongo --port 27019 #此时被动节点不能成为主节点
rs.slaveOk() #允许默认从节点读取数据
仲裁节点是不会复制信息
rs.help() #帮助信息
rs.printReplicationInfo() #查看日志文件大小信息
configured oplog size: 990MB #这个日志文件大小是可以修改的
rs.printSlaveReplicationInfo() #产看是和那个节点继进行同步
#你会发现仲裁节点并不具备数据复制
- 更改oplog大小 零时修改
db.oplog.rs.drop() //删掉原来的文件
11)db.runCommand( { create: "oplog.rs", capped: true, size: (2 1024 1024 * 1024) } ) //进行原型创建 改为2048
12)use admin
db.shutdownServer() //再次关闭服务
13)再次修改回来原先的数据 在replication:
replSetName: abc
oplogSizeMB: 2048 //添加
14)mongod -f /etc/mongod2.conf //重新开启服务 mongo --port 27018 进入端口
15)rs.printReplicationInfo() //此时就成了2048 支对但对修改有效
16)rs.stepDown() #有效产生选举 在主的里面让出主的身份![](/upload/otherpic50/056486508bc79f8a63535d95c9d7251c.png)![](/upload/otherpic50/00b2ec5ce686257662955fe84f94e759.png) ![](/upload/otherpic50/2a8d53ec8c61716800a096e3edfcbb8d.png)![](/upload/otherpic50/9514d79b04857075aa1d7e6a1cdc1a05.png)
1. 在主服务器上长创建用户为root
use admin
db.createUser({"user":"root","pwd":"123","roles":["root"]}) #创建用户密码
vim /etc/mongod.conf //修改主配置文件
同步并且中间有一个认证 修改所有配置文件
security:
keyFile: /usr/bin/kgcrskey1 //验证文件路径
clusterAuthMode: keyFile //验证密钥
重启服务
mongod -f /etc/mongod.conf --shutdown
mongod -f /etc/mongod.conf /其他几台的重启方式都相同,重复操作即可
身份验证登陆(先验证主,再验证从)
当你直接使用登陆命令登陆系统时,使用show dbs 是不能够查看数据的,此时就需要使用身份验证
mongo --port 27018
use admin
db.auth("root","123123")