Linux平台安装MongoDB

一.安装单机版

  1. 装各个 Linux 平台依赖包
    CentOS: yum install libcurl openssl
  2. MongoDB安装包下载地址:https://www.mongodb.com/download-center#community
    在这里插入图片描述
  3. 这里我们选择 tgz 下载,下载完安装包,上传到linux服务器,并解压 tgz
tar -zxvf /usr/local/mongo/mongodb-linux-x86_64-4.0.13.tgz  # 解压
mv mongodb-linux-x86_64-4.0.13.tgz  /usr/local/mongo/mongo1                        # 将解压包拷贝到指定目录
  1. MongoDB 的可执行文件位于 bin 目录下,所以可以将其添加到 PATH 路径中:
#export PATH=<mongodb-install-directory>/bin:$PATH
#<mongodb-install-directory> 为你 MongoDB 的安装路径。如本文的 usr/local/mongo/mongo1 即
export PATH=usr/local/mongo/mongo1/bin:$PATH

或者:通过在配置文件添加环境变量

[root@bakserver /]# vim /etc/profile   //在文件最后面添加下面两行
……
export MONGODB_HOME=/usr/local/mongo/mongo1
export PATH=$PATH:$MONGODB_HOME/bin
  1. 创建数据库目录
    mongodb1下创建目录data,data下创建目录 conf、db、logs
    conf目录下创建文件mongodb.conf
dbpath=/usr/local/mongo/mongo1/data/db
logpath=/usr/local/mongo/mongo1/data/logs/mongod.log
port=27017
fork=true
  1. 启动 Mongodb 服务
#使用conf配置文件启动
mongod --config /usr/local/mongo/mongo1/data/conf/mongodb.conf
#不使用conf配置文件
mongod --dbpath /usr/local/mongo/mongo1/data/db --logpath /usr/local/mongo/mongo1/data/logs/mongod.log --fork

打开 //usr/local/mongo/mongo1/data/logs/mongod.log文件看到以下信息,说明启动成功。

# tail -10f /usr/local/mongo/mongo1/data/logs/mongod.log
2020-07-09T12:20:17.391+0800 I  NETWORK  [listener] Listening on /tmp/mongodb-27017.sock
2020-07-09T12:20:17.392+0800 I  NETWORK  [listener] Listening on 127.0.0.1
2020-07-09T12:20:17.392+0800 I  NETWORK  [listener] waiting for connections on port 27017
  1. MongoDB 后台管理 Shell
[root@localhost bin]# cd /usr/local/mongo/mongo1/bin
[root@localhost bin]# mongo

由于它是一个JavaScript shell,可以运行一些简单的算术运算

> 2+2
4
> 3+6
9
> db.runoob.insert({x:10})
WriteResult({ "nInserted" : 1 })
> db.runoob.find()
{ "_id" : ObjectId("5f069bdb4e02f8baf90f1184"), "x" : 10 }
> 
  1. 创建账号
    以非授权的模式启动MongoDB:mongod --config /usr/local/mongo/mongo1/data/conf/mongodb.conf
> use admin #切换到admin数据库
switched to db admin
> db.createUser({user:"test",pwd:"test",roles:["root"]}) #添加管理员用户
Successfully added user: { "user" : "test", "roles" : [ "root" ] }
> db.auth("test", "test")#认证
1

以授权的模式启动MongoDB,,给使用的数据库添加用户:mongod --config /usr/local/mongo/mongo1/data/conf/mongodb.conf --auth

备注:
1.–auth代表授权启动,需要帐号密码才能访问
2.auth=true可以加到mongo.conf配置文件里面去进行统一管理

1.切换数据库
use test
2.创建用户
db.createUser({user: "root", pwd: "123456", roles: [{ role: "dbOwner", db: "test" }]})
  1. 停止
 ps -ef|grep mongo
 kill -9 进程ID

参考地址:https://www.runoob.com/mongodb/mongodb-linux-install.html
https://blog.csdn.net/cbuy888/article/details/82225058?utm_medium=distribute.pc_relevant_download.none-task-blog-BlogCommendFromBaidu-3.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-BlogCommendFromBaidu-3.nonecas

二、安装集群

  1. 我用了3个节点(主,备,仲裁节点),先装3个单机版,1.2.3.4步相同,第5步,mongodb.conf分别为:
#master.conf
dbpath=/usr/local/mongo/mongodb1/db
logpath=/usr/local/mongo/mongodb1/logs/mongod.log
pidfilepath=/usr/local/mongo/mongodb1/master.pid
directoryperdb=true
logappend=true
replSet=mongors
bind_ip=192.168.71.75
port=27021
oplogSize=10000
fork=true
#noprealloc=true
#slaver.conf
dbpath=/usr/local/mongo/mongodb2/db
logpath=/usr/local/mongo/mongodb2/logs/mongod.log
pidfilepath=/usr/local/mongo/mongodb2/slaver.pid
directoryperdb=true
logappend=true
replSet=mongors
bind_ip=192.168.71.75
port=27022
oplogSize=10000
fork=true
#noprealloc=true
#arbiter.conf
dbpath=/usr/local/mongo/mongodb3/db
logpath=/usr/local/mongo/mongodb3/logs/mongod.log
pidfilepath=/usr/local/mongo/mongodb3/arbiter.pid
directoryperdb=true
logappend=true
replSet=mongors
bind_ip=192.168.71.75
port=27023
oplogSize=10000
fork=true
#noprealloc=true
  1. 启动这3个节点
/usr/local/mongo/mongodb1/bin/mongod --config /usr/local/mongo/mongodb1/conf/mongodb.conf
/usr/local/mongo/mongodb2/bin/mongod --config /usr/local/mongo/mongodb2/conf/mongodb.conf
/usr/local/mongo/mongodb3/bin/mongod --config /usr/local/mongo/mongodb3/conf/mongodb.conf
  1. 在三个节点中选择一个连接mongodb
./mongo 192.168.71.75:27021
show admin

config_test={_id : 'mongors',members : [{_id : 0, host : '192.168.71.75:27021',priority:1},{_id : 1, host : '192.168.71.75:27022',priority:2},{_id : 2, host : '192.168.71.75:27023',arbiterOnly:true}]}

rs.initiate(config_test) #使配置生效

rs.status(); #查看副本状态

health表示副本集中该节点是否正常,0表示不正常,1表示正常;state表示节点的身份,0表示非主节点,1表示主节点;stateStr用于对节点身份进行字符描述,PRIMARY表示主节点,SECONDARY表示副节点;name是副本集节点的ip和端口信息

db.printSlaveReplicationInfo();#查看副本同步状态
  1. 主库配置用户
show admin

db.createUser({user:'admin',pwd:'admin',roles:['userAdminAnyDatabase']})

在这里插入图片描述

  1. 增加安全认证机制KeyFile还未做。。。。。。

参考地址:https://blog.csdn.net/weixin_30892037/article/details/98769429
https://blog.csdn.net/luonanqin/article/details/8497860

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值