欢迎来到电脑知识学习网,专业的电脑知识大全学习平台!

手机版

mongodb菜鸟教程(mongodb最新版安装步骤)

网络知识 发布时间:2022-01-09 10:55:41


mongodb菜鸟教程(mongodb最新版安装步骤)(1)

准备安装的机器

m1,m2,m3

配置三台机器的登录互信

cd  ~/.ssh
ssh-keygen -t rsa -P ""

三个机器产生的id_rsa.pub[都]追加到机器的authorized_keys,这样机器就有了互信的凭证

cat id_rsa.pub >> authorized_keys 不要忘记权限设定chmod 600 authorized_keys 不要忘记home目录的权限设置为755 .ssh目录设置为700

下载安装包

在官网下载安装包 

最新稳定版本 解压

tar -zxvf mongodb-linux-x86_64-4.0.1.tgz
mv mongodb-linux-x86_64-4.0.1 mongodb

设置环境

vi ~/.bash_profile
#注意别设置错了
PATH=$PATH:$HOME/bin:/home/work/mongodb/bin
source ~/.bash_profile

cd mongodb
建立必要目录
mkdir data logs etc
cd etc

vi mongodb.conf #配置文件说明(见参考资料)

# 日志路径
logpath=/home/work/mongodb/logs/mongod.log
# 是否日志追加
logappend=true
# 后台启动
fork=true
# 端口
port=27017
# 数据目录
dbpath=/home/work/mongodb/data
# pid
pidfilepath=/home/work/mongodb/data/mongod.pid
# 设置oplog的大小
oplogSize=4096
# 最大同时连接数 默认2000
maxConns=2000
# 设置每个数据库将被保存在一个单独的目录
directoryperdb=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
# 监听
bind_ip=0.0.0.0 # 监听
replSet=rs0

分别启动mongo数据库

./bin/mongod -f ./etc/mongodb.conf

在其中一台登录mongo执行 ./bin/mongo命令进入命令行

初始化mongo环境

rs.initiate(
   {
      _id: "rs0",
      version: 1,
      members: [
         { _id: 0, host : "m1:27017" },
         { _id: 1, host : "m2:27017" },
         { _id: 2, host : "m3:27017" }
      ]
   }
)

通过rs.status()命令可以查看链接状态

验证数据库可用性

use test
db.col.save({a:'dongge'});
db.col.find();
{ "_id" : ObjectId("5bd162cd6158e0f4ea9ae9a2"), "a" : dongge }

看起来成功,然后在所有的SECONDARY机器执行rs.slaveOk(),把SECONDARY机器设置为只读(主要)

db.col.find();

验证故障转移

停掉Primary,关闭mongo服务器

use admin;
db.shutdownServer();
#或以下命令关闭
mongod  --shutdown --dbpath /home/work/mongodb/data

查看rs.status() 看看是否转移成功

账号和授权配置,并配置验证

  1. 创建超级用户root use admin db.createUser({user:"root",pwd:"your password",roles:["root"]})
  2. 创建所有数据库只读角色 db.createUser({user:"nr",pwd:"your password",roles:["readAnyDatabase"]})
  3. 创建线上运行用户 db.createUser({user:"nw",pwd:"your password",roles:["readWriteAnyDatabase"]})
  4. 创建线上集群监控角色 db.createUser({user:"monitor",pwd:"your password",roles:["clusterMonitor"]})
  5. 查看系统所有用户 db.system.users.find().pretty()
  6. 关闭集群,修改mongodb.conf配置文件开启用户认证模式,配置完毕后重启集群,如下,开启认证,生成认证文件
openssl rand -base64 756 > energy-rc.key
chmod 400 energy-rc.key

然后拷贝到每一个机器mongodb/etc下

修改mongo.conf文件,增加如下内容:

# 开启认证模式
auth=true
# 安全认证机制
keyFile=/home/work/mongodb/etc/energy-rc.key

重启机器

mongod  --shutdown --dbpath /home/work/mongodb/data
mongod -f /home/work/mongodb/etc/mongodb.conf
  1. 验证开启认证效果
use admin

db.auth("uanme_nr_rd","your pwd")
db.auth("uanme_nw","your pwd")
db.auth("root","your pwd")
db.auth("monitor","your pwd")

参考资料

  1. mongodb4.0.2 复制集主从部署
  2. MongoDB高级应用(二):集群复制
  3. MongoDB用户角色配置
  4. mongodb配置文件配置
  5. mongodb配置文件配置-官方
责任编辑:电脑知识学习网

网络知识