CenterOS 部署MongoDB数据库

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: CenterOS 部署MongoDB数据库

一、下载MongoDB



MongoDB3.0.6
链接:https://pan.baidu.com/s/1T1dVzieCXqEWuOPRiYO9gw 
提取码:i5cj


二、使用ftp上传tgz包到/usr/local/src/MongoDB路径下



这个工具版本免安装解压就能用


ftp解压版
链接:https://pan.baidu.com/s/1U6zTzA1m_fIG-GBT_WMtsg 
提取码:h70j


三、解压tgz包,将解压后的文件夹重命名为mongodbserver



tar -zxvf mongodb-linux-x86_64-3.0.6.tgz


如图解压完毕:



在这里插入图片描述


四、进入mongodbserver文件夹,创建db、log、etc文件夹





在这里插入图片描述


五、进入mongodbserver/etc文件夹下创建mongodb.conf,并设置以下参数



 vim mongodb.conf


mongodb.conf

    dbpath=/usr/local/src/MongoDB/mongodbserver/db                #数据库存放的位置
    logpath=/usr/local/src/MongoDB/mongodbserver/log/mongodb.log  #日志存放的位置
    port=27017                                                    #端口号
    fork=true                                                     #是否以后台进程启动  
    journal=false                                                 #启用日志文件
    storageEngine=mmapv1
    nohttpinterface=true                                          #是否支持http访问 
    #auth=true                                                    #是否以安全认证方式运行,默认是不认证的非安全方式




如图:
在这里插入图片描述


六、启动mongodb进入



/usr/local/src/MongoDB/mongodbserver/bin文件夹下输入命令:

./mongod --config /usr/local/src/MongoDB/mongodbserver/etc/mongodb.conf


启动:

 ./mongo MongoDB shell version: 3.0.6


七、防火墙打开27017端口



/sbin/iptables -I INPUT -p tcp --dport 27017 -j ACCEPT
/etc/rc.d/init.d/iptables save


测试: 在浏览器中输入:http://192.168.22.130:27017 进行访问


八、设置用户名和密码


1、输入./mongo 进入mongo命令行(进入bin文件夹)
2、选择admin数据库: >use admin
3、创建用户并授予权限:>db.createUser({user: “root”,pwd: “123456”,roles: [{ role: “userAdminAnyDatabase”, db:“admin” }]});


注:
如果设置了用户名密码 但是无法操作增删查改
报错:

2019-04-29T19:09:25.965+0800 E QUERY    Error: listCollections failed: {
      "ok" : 0,
      "errmsg" : "not authorized on admin to execute command { listCollections: 1.0 }",
      "code" : 13
}
  at Error (<anonymous>)
  at DB._getCollectionInfosCommand (src/mongo/shell/db.js:646:15)
  at DB.getCollectionInfos (src/mongo/shell/db.js:658:20)
  at DB.getCollectionNames (src/mongo/shell/db.js:669:17)
  at shellHelper.show (src/mongo/shell/utils.js:625:12)
  at shellHelper (src/mongo/shell/utils.js:524:36)
  at (shellhelp2):1:1 at src/mongo/shell/db.js:646


解决方式  更该用户的权限
经过查询错误解决办法,了解到是集群管理权限不够,添加相应权限之后就可以解决问题,变更用户权限如下

  db.updateUser(
    "root",
          {
                roles : 
                [
                      {"role" : "userAdminAnyDatabase","db" : "admin"},
                      {"role" : "dbOwner","db" : "admin"},
                      {"role" : "clusterAdmin", "db": "admin"}
                ]
          }
  )


4、使用>show users或>db.system.users.find()查看已有用户
5、添加完管理用户后,关闭MongoDB,并使用权限方式再次开启MongoDB,这里注意不要使用kill直接去杀掉mongodb进程,
(如果这样做了,请去data/db目录下删除mongo.lock文件),可以使用db.shutdownServer()关闭.

退出6、使用权限方式启动MongoDBmongodb.conf在配置文件中添加:auth=true , 然后启动。7、输入./mongo命令,进入mongo shell,使用admin数据库并进行验证,如果不验证,是做不了任何操作的。

./mongo
>use admin
>db.auth(“pfnieadmin”,“123456”) #认证,返回1表示成功


注:关闭mongodb的方式
1、mongo命令行,使用 关闭
2、进入bin文件夹下 使用./mongod -shutdown ./mongod -shutdown -dbpath=/usr/local/src/MongoDB/mongodbserver/db
3、killall mongod 杀死进程(不推荐使用)

查看mongodb是否启动:lsof -i :端口 如:lsof -i :27017


九、将mongod路径添加到系统路径中,方便随处执行mongod命令(设置环境变量)



1、编辑/etc/profile文件,添加export PATH=$PATH:/usr/local/src/MongoDB/mongodbserver/bin

    vim /etc/profile


2、执行source /etc/profile,使系统环境变量立即生效


十、将mongo路径软链到/usr/bin路径下,方便随处执行mongo命令执行命令:



ln -s /usr/local/src/MongoDB/mongodbserver/bin/mongo  /usr/bin/mongo


测试


十一、测试是否方便随处执行mongo命令



cd /输入 “mongo” 命令,进入mongo shell,进行测试十二、MongoDB设置为系统服务并且设置开机启动1、首先添加MongoDB系统服务,命令如下:vim /etc/rc.d/init.d/mongod2、打开编辑器后,我们将下面的配置粘贴进去,然后保存(注意:mongodb.conf文件的路径)

start() {
/usr/local/src/MongoDB/mongodbserver/bin/mongod --config /usr/local/src/MongoDB/mongodbserver/etc/mongodb.conf
}
stop() {  
  /usr/local/src/MongoDB/mongodbserver/bin/mongod --config /usr/local/src/MongoDB/mongodbserver/etc/mongodb.conf --shutdown  
}
case "$1" in  
     start)  
  start  
  ;;  
         stop)  
      stop  
      ;;  
         restart)  
      stop  
      start  
      ;;  
     *)  
    echo  
$"Usage: $0 {start|stop|restart}"  
  exit 1  
esac


3、保存完成之后,添加脚本执行权限,命令如下:

chmod +x /etc/rc.d/init.d/mongod


4、启动


MongoDB:service mongod start


5.关闭

MongoDB:service mongod stop


相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
1月前
|
存储 监控 安全
数据库多实例的部署与配置方法
【10月更文挑战第23天】数据库多实例的部署和配置需要综合考虑多个因素,包括硬件资源、软件设置、性能优化、安全保障等。通过合理的部署和配置,可以充分发挥多实例的优势,提高数据库系统的运行效率和可靠性。在实际操作中,要不断总结经验,根据实际情况进行调整和优化,以适应不断变化的业务需求。
|
11天前
|
SQL 弹性计算 安全
在云上轻松部署达梦数据库
达梦数据库(DM Database)是达梦数据库有限公司开发的关系型数据库管理系统,广泛应用于政府、金融、能源等行业。它具备高性能、高安全、兼容性强、易管理等特点,支持多种操作系统,适用于关键业务系统、政务系统及大数据处理等场景。在阿里云上,可通过一键部署快速使用达梦数据库DM8。
|
8天前
|
存储 NoSQL 关系型数据库
阿里云数据库MongoDB版助力信也科技 打造互联网金融企业样板
我们的风控系统引入阿里云数据库MongoDB版后,解决了特征类字段灵活加减的问题,大大提高了开发效率,极大的提升了业务用户体验,获得了非常好的效果
阿里云数据库MongoDB版助力信也科技 打造互联网金融企业样板
|
1月前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
135 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
1月前
|
NoSQL 容灾 MongoDB
MongoDB主备副本集方案:两台服务器使用非对称部署的方式实现高可用与容灾备份
在资源受限的情况下,为了实现MongoDB的高可用性,本文探讨了两种在两台服务器上部署MongoDB的方案。方案一是通过主备身份轮换,即一台服务器作为主节点,另一台同时部署备节点和仲裁节点;方案二是利用`priority`设置实现自动主备切换。两者相比,方案二自动化程度更高,适合追求快速故障恢复的场景,而方案一则提供了更多的手动控制选项。文章最后对比了这两种方案与标准三节点副本集的优缺点,指出三节点方案在高可用性和数据一致性方面表现更佳。
|
1月前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
1月前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
2月前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
1月前
|
存储 NoSQL MongoDB
【赵渝强老师】部署MongoDB复制集
本文介绍了如何在单个节点上搭建MongoDB复制集环境,通过监听不同端口实现多节点配置。详细步骤包括创建数据目录、编辑配置文件、启动节点、初始化复制集、查看状态以及测试主从库的读写操作。文中还提供了视频讲解和代码示例,帮助读者更好地理解和操作。
|
2月前
|
存储 关系型数据库 MySQL
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB区别,适用场景
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景比较