【中间件安装】mongo安装

安装方式:传统方式安装

第一部分:Linux上安装 mongo服务器

1、配置 yum源

# 查看服务器版本
# more /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core)

# vi /etc/yum.repos.d/mongodb-org-3.2.repo 
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

#把上面这一段,复制到mongodb-org-3.2.repo中,进行保存

2、安装 mongo

yum -y install mongodb-org   

出现下面的界面,就表示安装完成

3、验证

rpm -qa |grep mongodb
rpm -ql mongodb-org-server

4、启动mongo

service mongod start

5、查看 mongo的端口号

netstat -nltp|grep mongo

6、服务器端 mongo的使用

直接输入mongo

7、开放端口号

# 开启6379
/sbin/iptables -I INPUT -p tcp --dport 27017 -j ACCEPT
service iptables save

 

第二部分:客户端连接 mongo

安装 Robo 3T

新建连接时,输入服务器的用户名,端口号,同时认证那里不用勾选,就可以连接上。如果失败,再到服务器去查看具体的原因。

 

第三部分:问题处理

主要使用 locate mongod.log ,/var/log/mongodb/mongod.log 查看启动时,查看失败的原因,逐条解决。

1、设置 mongo 为服务

     报错信息:systemd[1]: Failed to start SYSV: Mongo is a scalable, document-oriented database..

     将mongoDB添加到systemd

   

# vi /usr/lib/systemd/system/mongod.service
[Unit]
Description=mongodb database
 
[Service]
User=mongod
Group=mongod
Environment="OPTIONS=--quiet -f /etc/mongod.conf"
ExecStart=/usr/bin/mongod $OPTIONS run
PIDFile=/var/run/mongodb/mongod.pid
 
[Install]
WantedBy=multi-user.target

 

建立链接

ln -s /usr/lib/systemd/system/mongod.service /etc/systemd/system/multi-user.target.wants/

重新加载systemctl

# systemctl daemon-reload

2、有遇到的解决方法有  rm mongod.lock,rm /tmp/mongodb-27017.sock

3、Error parsing YAML config file: yaml-cpp: error at line 30, column 4: end of map not found

解决方法:修改 /etc/mongod.conf,把改动过的条目,前面的缩进格,都重新用空格键缩进一遍

第四部分:mongo 认证

mongodb安装好后第一次进入是不需要密码的,也没有任何用户。  在安装MongoDB之后,先关闭auth认证,启动服务端:

  1、现在需要创建一个帐号,该账号需要有grant权限,即:账号管理的授权权限。注意一点,帐号是跟着库走的,所以在指定库里授权,必须也在指定库里验证(auth)。

   添加管理用户:

use admin
 
db.createUser( {user: "admin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})

 

  Built-In Roles(内置角色):
    1. 数据库用户角色:read、readWrite;
    2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
    3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    4. 备份恢复角色:backup、restore;
    5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
    6. 超级用户角色:root 
    // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
    7. 内部角色:__system

具体角色:

Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限。

刚建立了 userAdminAnyDatabase 角色,用来管理用户,可以通过这个角色来创建、删除用户。

2.开启auth参数,认证通过后才能访问数据库

3、查看mongo版本

mongo --version

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值