MongoDB 主从实例搭建 mongo


=============单实例安装===========

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.6.tgz

tar xf mongodb-linux-x86_64-rhel62-3.4.6.tgz

mv mongodb-linux-x86_64-rhel62-3.4.6 mongodb

vim /etc/profile

--

#mongodb

export PATH=/home/amdin/mongodb/bin:$PATH

--

mkdir -p /home/admin/mongodb/db

mkdir -p /home/admin/mongodb/logs

/home/admin/mongodb/bin/mongod --fork --dbpath=/home/admin/mongodb/db --logpath /home/admin/mongodb/logs/mongodb.log --logappend --rest

./mongo

> use admin

> db.createUser({user:'root',pwd:'bnh1923', roles:[{role:'root', db:'admin'}]})

> db.getCollectionNames()

###关闭

./mongo

> use admin

> db.shutdownServer()

/home/admin/mongodb/bin/mongod --fork --dbpath=/home/admin/mongodb/db --logpath /home/admin/mongodb/logs/mongodb.log --logappend --auth --rest


=============主从多实例安装===========

添加root用户后关闭进程:

# 主从服务器:
killall -9 mongod
rm -rf   /home/admin/mongodb/db/*

修改单实例

# 主服务器:
vi /home/admin/mongodb/conf/master.conf
dbpath=/home/admin/mongodb/dbmaster
logpath=/home/admin/mongodb/logs/master.log
port=27017
fork=true

# 从服务器:
vi /home/admin/mongodb/conf/27018.conf 
dbpath=/home/admin/mongodb/db27018
logpath=/home/admin/mongodb/logs/27018.log
port=27018
fork=true

# 从服务器:
vi /home/admin/mongodb/conf/27019.conf 
dbpath=/home/admin/mongodb/db27019
logpath=/home/admin/mongodb/logs/27019.log
port=27019
fork=true

# 分别机器上启动mongodb:
/home/admin/mongodb/bin/mongod -f /home/admin/mongodb/conf/master.conf  --replSet mongoOnLine
/home/admin/mongodb/bin/mongod -f /home/admin/mongodb/conf/27018.conf  --replSet mongoOnLine
/home/admin/mongodb/bin/mongod -f /home/admin/mongodb/conf/27019.conf  --replSet mongoOnLine
cd /home/admin/mongodb/
./bin/mongo --port 27017   # 进入其中一台机器的mongo shell操作
use admin # 使用admin库
# mongo副本配置 
config={_id:"mongoOnLine",members:[{_id:0,host:"127.0.0.1:27017"},{_id:1,host:"127.0.0.1:27018"},{_id:2,host:"127.0.0.1:27019"}]}
# 主服务器: 
> rs.initiate(config)  # {"ok":1}  表示初始化完成
> rs.status()            # 查看副本集状态
> rs.isMaster(); # 查看主机:在master执行

# 从服务器:
./bin/mongo --port 27018   # 进入从机器的mongo shell操作
> rs.slaveOk();  # 访问从机需要先执行

# 从服务器:
./bin/mongo --port 27019   # 进入从机器的mongo shell操作
> rs.slaveOk();  # 访问从机需要先执行

# 增加用户权限:
cd /home/admin/mongodb/
./bin/mongo --port 27017   # 进入其中一台机器的mongo shell操作
> db.createUser({user:'root',pwd:'bnh1923', roles:[{role:'root', db:'admin'}]})
> db.getCollectionNames()


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回