一,mongodb的单实例搭建
1,下载包地址
<代码> 1,各个版本的下载地址 https://www.mongodb.org/downloads 2,本文安装最新版本3.6.5 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.5.tgz 代码>
2,安装
<代码> 1,解压 tar xf mongodb-linux-x86_64-3.6.5。tgz,,mv mongodb-linux-x86_64-3.6.5/usr/local/mongodb-3.6.5 2、创建相关目录 mkdir - p/数据/mongodb27017/{数据、日志、} 3,参数文件配置,vim/数据/mongodb27017/conf/mongodb - 27017. - cnf 端口=27017 bind_ip=192.168.142.48,127.0.0.1 dbpath=/数据/mongodb27017/数据 logpath=/数据/mongodb27017/日志/mongodb.log pidfilepath=/数据/mongodb27017/mongodb.pid logappend=true 叉=true auth=true 代码>
3,启动和关闭
<代码> 1,启动mongodb/usr/local/mongodb-3.6.5/bin/mongod - f/数据/mongodb27017/conf/mongodb - 27017. - cnf 2、客户端命令行首次进入/usr/local/mongodb-3.6.5/bin/mongo——端口=27017 3、创建超管用户 db.createUser ( { 用户:“admin”, pwd:“123456”, 角色:[{角色:“根”,db:“admin”}] } ) 4,客户端命令行再次进入/usr/local/mongodb-3.6.5/bin/mongo 192.168.142.48:27017/admin - u管理-p123456 比;db.getCollectionNames () ["系统。用户”、“系统。版本”) 5、关闭mongodb/usr/local/mongodb-3.6.5/bin/mongo 192.168.142.48:27017/admin - u管理-p123456 比;db.shutdownServer() 代码>
二,mongodb的复制集搭建
在单实例的基础上创建复制集(已经配置超管用户)
<代码> 192.168.142.48:27017 192.168.142.48:27018 192.168.142.48:27019 代码>
1,新增密钥文件文件
<代码> 1,vim密钥文件 123456所有 2、设置权限 chmod 600密钥文件代码>
2,配置文件,基于单实例的基础上额外增加
<代码> #/数据/mongodb27017/conf/mongodb - 27017. - cnf 密钥文件=/数据/mongodb27017/密钥文件 oplogSize=1024 replSet=rs_one #/数据/mongodb27018/conf/mongodb - 27018. - cnf 密钥文件=/数据/mongodb27018/密钥文件 oplogSize=1024 replSet=rs_one #/数据/mongodb27019/conf/mongodb - 27019. - cnf 密钥文件=/数据/mongodb27019/密钥文件 oplogSize=1024 replSet=rs_one 代码>
3,启动实例
<代码>/usr/地方/mongodb-3.6.5/bin/mongod - f/数据/mongodb27017/conf/mongodb - 27017. - cnf/usr/local/mongodb-3.6.5/bin/mongod - f/数据/mongodb27018/conf/mongodb - 27018. - cnf/usr/local/mongodb-3.6.5/bin/mongod - f/数据/mongodb27019/conf/mongodb - 27019. - cnf 代码>
4,配置复制集
<代码> 1,任意一台命令行登录/usr/local/mongodb-3.6.5/bin/mongo 192.168.142.48:27017/admin - u管理-p123456 2、配置复制集成员 配置={ :“_id rs_one”, 成员:[ {" _id ": 0,主持人:" 192.168.142.48:27017 "}, 主持人:{" _id ": 1日192.168.142.48:27018 "}, 主持人:{" _id ": 2日“192.168.142.48:27019 arbiterOnly:真正}] } 3、初始化复制集 rs.initiate(配置) 4、查看复制集状态 rs.conf(),查看副本集的配置 rs.status(),查看副本集的状态 rs.printSlaveReplicationInfo(),查看各节点同步状态 rs.printReplicationInfo(),查看同步事件概况 db.isMaster(),查看当前复制集概况代码>
5,复制集的管理
<代码> 1,添加副本集成员 使用rs.add (HOST_NAME:端口)添加新的副本集机器,例如:rs.add (“192.168.142.48:27019”) 2,删除副本集成员 使用rs.remove (HOST_NAME:端口)删除副本集机器,例如:rs.remove (“192.168.142.48:27019”) 3、副本集参数配置 对于复杂的副本集配置,rs.reconfig函数修改比rs.add和rs.remove更有用 var=rs.config () rs.reconfig (a) 4,解决报错“不是主人和slaveOk=false” 1)。本次生效rs.slaveOk (); 2)。永久生效vim ~/.mongorc.js,增加一行rs.slaveOk ();这样的话以后每次通过mongo命令进入从库都可以查询了 5,对于仲裁节点修改为副本集普通成员 1,删除仲裁节点,rs.remove (“192.168.142.48:27019”) 2,重新启动仲裁节点所在实例(必须) 3、重新添加成员,rs.add (“192.168.142.48:27019”) 6、手动降级主节点为普通节点 PRIMARY>rs.stepDown()mongodb相关(单实例,复制集,分片集)