设为首页 收藏本站
查看: 1516|回复: 0

[经验分享] Linux下MongoDB安装和配置详解

[复制链接]

尚未签到

发表于 2017-12-15 23:00:40 | 显示全部楼层 |阅读模式
一、创建MongoDB的安装路径
  在/usr/local/  创建文件夹mongoDB
  mkdir mongoDB
DSC0000.png


二、上传文件到Linux上的/usr/local/source目录下
  1. 我首先在mongoDB下载路径下载mongoDB下载对应的版本.
  2.通过FTP工具将安装包上传到linux机器上面.
DSC0001.png


三、解压文件
  1. 进入到/usr/local/source目录:
  cd /usr/local/source
  2. 运行如下命令: tar -zxvf mongodb-linux-i686-3.2.13-rc0.gz -C /usr/local/mongoDB
DSC0002.png

  2. 重命名
DSC0003.png


四、创建配置文件
  1. 创建数据库文件夹
  cd /usr/local/mongoDB/mongodbserver
  mkdir data
DSC0004.png

  2. 创建日志文件夹
  cd /usr/local/mongoDB/mongodbserver
  mkdir log
DSC0005.png

  3. 创建配置文件夹与配置文件
  3.1 创建配置文件夹etc
  cd /usr/local/mongoDB/mongodbserver
  mkdir etc
DSC0006.png

  3.2 创建配置文件mongodb.conf
  cd /usr/local/mongoDB/mongodbserver/etc
  vim mongodb.conf
  

dbpath=/usr/local/mongoDB/mongodbserver/data  
logpath=/usr/local/mongoDB/mongodbserver/logs/mongodb.log
  
port=27017
  
fork=true
  journal=false
  
storageEngine=mmapv1
  


五、启动MongoDB
  1. mongodb安装好后第一次进入是不需要密码的,也没有任何用户,通过shell命令可直接进入,cd到mongodb目录下的bin文件夹,执行命令./mongo即可,如下所示:
  ./mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf
DSC0007.png

  启动成功后,访问http://npfdev1:27017/ , 可以看到:
DSC0008.png

  2、添加管理用户(mongoDB 没有无敌用户root,只有能管理用户的用户 userAdminAnyDatabase)
  利用mongo命令连接mongoDB服务器端:
DSC0009.png

  > use admin
  switched to db admin
  > db.createUser( {user: "pfnieadmin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});
  成功后,你将会看到:
DSC00010.png

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


5、进入mongo shell,使用admin数据库并进行验证,如果不验证,是做不了任何操作的。
DSC00012.png
> use admin
> db.auth("pfnieadmin","123456")   #认证,返回1表示成功
六、将mongod路径添加到系统路径中,方便随处执行mongod命令
  1. 在/etc/profile文件中,添加 export PATH=$PATH:/usr/local/mongoDB/mongodbserver/bin
DSC00013.png

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


七、将mongo路径软链到/usr/bin路径下,方便随处执行mongo命令
  1. 执行命令: ln -s /usr/local/mongoDB/mongodbserver/bin/mongo  /usr/bin/mongo
DSC00015.png


八、测试是否方便随处执行mongo命令
  1. 回到任意路径下,执行mongo命令,连接mongod服务
DSC00016.png

  2. 关闭mongod服务,执行db.shutdownServer()
DSC00017.png

  2017-04-20T18:32:26.865+0800 E QUERY [thread1] Error: shutdownServer failed: {
  "ok" : 0,
  "errmsg" : "not authorized on admin to execute command { shutdown: 1.0 }",
  "code" : 13
  } :
  _getErrorWithCode@src/mongo/shell/utils.js:25:13
  DB.prototype.shutdownServer@src/mongo/shell/db.js:302:1
  @(shell):1:1
  解决办法,执行下面的语句,添加权限:
  

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

  然后在执行db.shutdownServer().
DSC00018.png

  或者执行下面的命令关闭:
  killall mongod
  3. 启动mongod服务
  mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf
DSC00019.png


九、MongoDB设置为系统服务并且设置开机启动
  1.通过上面简单的操作,我们已经将MongoDB配置文件配置完成,那么接下里我们将为MongoDB设置系统服务。
  2.首先添加MongoDB系统服务,命令如下:vim /etc/rc.d/init.d/mongod
  3.打开编辑器后,我们将下面的配置粘贴进去,然后保存
  

start() {  

/usr/local/mongoDB/mongodbserver/bin/mongod  --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf  
}  
  
stop() {  
  

/usr/local/mongoDB/mongodbserver/bin/mongod --config /usr/local/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
  

  4.保存完成之后,添加脚本执行权限,命令如下:chmod +x /etc/rc.d/init.d/mongod
  5.启动MongoDB,service mongod start 如下图所示,则说明启动成功:
DSC00020.png

  6.可以使用命令service mongod stop关闭MongoDB服务。
  7. 验证mongoDB是否启动,输入命令lsof -i :27017,监测端口已经在使用中,所以说启动已经完成。
  参考文献:

1.MongoDB学习笔记—Linux下搭建MongoDB环境

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-424530-1-1.html 上篇帖子: MongoDB-文档插入、更新、删除、查询 下篇帖子: vue+node+mongodb实现的页面
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表