Linux安装mongodb总结

一、安装过程

1.到mongodb官网下(https://www.mongodb.com/download-center#community)载对应系统的压缩包,我的系统是CentOS 7.2,64位。(注意不要选错系统版本,也可以在本地下载好后上传到云服务器)

2.默认下载路径是到用户目录下的Downloads目录,将其解压

tar -zxvf mongodb-linux-x86_64-rhel70-3.6.8.tgz

3.将解压后的文件夹移动到/usr/local/的mongodb目录下

mv -r mongodb-linux-x86_64-rhel70-3.6.8 /usr/local/mongodb

4.配置系统文件profile(加入系统环境变量)

sudo vi /etc/profile

插入下列内容:

export MONGODB_HOME=/usr/local/mongodb  
export PATH=$PATH:$MONGODB_HOME/bin

注意保存后要重启系统配置:

source /etc/profile

5.创建用于存放数据和日志文件的文件夹,并修改其权限增加读写权限

cd /usr/local/mongodb
sudo mkdir -p data/db
sudo chmod -r 777 data/db
sudo mkdir logs
cd logs
touch mongodb.log

6.mongodb启动配置

进入到bin目录,增加一个配置文件:

cd /usr/local/mongodb/bin  
sudo vi mongodb.conf

插入下列内容:

dbpath = /usr/local/mongodb/data/db #数据文件存放目录  
logpath = /usr/local/mongodb/logs/mongodb.log #日志文件存放目录  
port = 27017  #端口  
fork = true  #以守护程序的方式启用,即在后台运行  
bind_ip= 10.216.3.20 #绑定ip 

7. 启动mongod数据库服务,以配置文件的方式启动

cd /usr/local/mongodb/bin
./mongod -f mongodb.conf
ps aux|grep mongo #查看mongo进程

8.连接mongodb数据库

./mongo

创建数据库:

use admin

创建用户:

db.createUser({user:"admin",pwd:"admin",roles:[{role:"root",db:"admin"}]}) #创建admin用户赋予root权限
exit #退出
mongo IP:27017/admin -u admin -p 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数据库中可用。超级账号,超级权限

9.设置mongodb.service启动服务,设置开机启动

cd /lib/systemd/system  
sudo vi mongodb.service 

编辑其内容为:

 

[Unit]  
Description=mongodb  
After=network.target remote-fs.target nss-lookup.target  
  
[Service]  
Type=forking  
ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf  
ExecReload=/bin/kill -s HUP $MAINPID  
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/bin/mongodb.conf  
PrivateTmp=true  
  
[Install]  
WantedBy=multi-user.target

 

10.设置mongodb.service权限

chmod 754 mongodb.service

11.系统mongodb.service的操作命令如下:

#启动服务  
systemctl start mongodb.service  
#关闭服务  
systemctl stop mongodb.service  
#开机启动  
systemctl enable mongodb.service 

 

 

 

12.mongodb.service启动测试

二、安装过程中遇到的问题

1.

mongod: error while loading shared libraries: libnetsnmpmibs.so.30: cannot open shared object file: No such file or directory

这个报错信息是说找不到对应的库文件,原因是一开始我下错了安装包版本,所以在下载是一定要注意自己系统的版本

2.通过配置文件启动服务:mongod -f /etc/mongodb.conf 时报错

Error parsing INI config file: unrecognised option 'nohttpinterface' try './

这个一开始让我查了好久,后面查到是因为我下载的最新版本的mongodb,而最新的版本貌似不支持以这种配置文件的方式来启动服务,所以无奈我又重新下载安装了3.2.12的版本,然后再次启动服务就正常了。

3.启动服务时报错:

about to fork child process, waiting until server is ready for connections.
forked process: 11335
ERROR: child process failed, exited with error number 1

这个错误原因是dbpath文件的权限问题,data和logs目录增加写权限即可,上面提到了。

三、linux端口开放指定端口的两种方法

重要的事情说三遍,强烈建议使用第二种方法!第二种方法!第二!;

开放端口的方法:

方法一:命令行方式 

1、开放端口命令: /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
2、保存:/etc/rc.d/init.d/iptables save
3、重启服务:/etc/init.d/iptables restart
4、查看端口是否开放:/sbin/iptables -L -n

方法二:直接编辑/etc/sysconfig/iptables文件

1、编辑/etc/sysconfig/iptables文件:vi /etc/sysconfig/iptables
2、加入内容并保存:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
2、重启服务:/etc/init.d/iptables restart
3、查看端口是否开放:/sbin/iptables -L -n

   博主,第二种方式报错,第一种却可以,大家两种方式都可以试试,成功即可。        

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值