热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux系统下安装配置MongoDB过程详解

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。下面详细讲解安装步骤。1.下载(二进制版本免安装)#wgethttp://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.8.1.tgz#tarzxvfm
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。下面详细讲解安装步骤。

1.下载(二进制版本免安装)
# wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.8.1.tgz
# tar zxvf mongodb-linux-x86_64-1.8.1.tgz -C /usr/local

2.配置
# useradd mongod ?s /sbin/nologin
# mkdir /www/data/mongo
# mkdir /var/log/mongo
# chown mongod.mongod /www/data/mongo
# chown mongod.mongod /var/log/mongo
# mkdir /usr/local/mongodb-linux-x86_64-1.8.1/etc
# cd /usr/local/mongodb-linux-x86_64-1.8.1/etc
# vim mongod.conf
# mongo.conf
#where to log
logpath=/var/log/mongo/mongod.log
logappend=true
# fork and run in background
fork = true
#port = 27017
dbpath=/www/data/mongo
# Enables periodic logging of CPU utilization and I/O wait
#cpu = true
# Turn on/off security. Off is currently the default
#noauth = true
#auth = true
# Verbose logging output.
#verbose = true
# Inspect all client data for validity on receipt (useful for
# developing drivers)
#objcheck = true
# Enable db quota management
#quota = true
# Set oplogging level where n is
# 0=off (default)
# 1=W
# 2=R
# 3=both
# 7=W+some reads
#oplog = 0
# Diagnostic/debugging option
#nocursors = true
# Ignore query hints
#nohints = true
# Disable the HTTP interface (Defaults to localhost:27018).
#nohttpinterface = true
# Turns off server-side scripting. This will result in greatly limited
# functionality
#noscripting = true
# Turns off table scans. Any query that would do a table scan fails.
#notablescan = true
# Disable data file preallocation.
#noprealloc = true
# Specify .ns file size for new databases.
# nssize =
# Accout token for Mongo monitoring server.
#mms-token =
# Server name for Mongo monitoring server.
#mms-name =
# Ping interval for Mongo monitoring server.
#mms-interval =
# Replication Options
# in replicated mongo databases, specify here whether this is a slave or master
#slave = true
#source = master.example.com
# Slave only: specify a single database to replicate
#Only= master.example.com
# or
#master = true
#source = slave.example.com

3.启动mongod
# /usr/local/mongodb-linux-x86_64-1.8.1/bin/mongod -f /usr/local/mongodb-linux-x86_64-1.8.1/etc/mongod.conf

4.自启动脚本
# vim /etc/init.d/mongod
#!/bin/bash
# mongod - Startup script for mongod
# chkconfig: 35 85 15
# description: Mongo is a scalable, document-oriented database.
# processname: mongod
. /etc/rc.d/init.d/functions
# things from mongod.conf get there by mongod reading it
OPTIOnS=" -f /usr/local/mongodb-linux-x86_64-1.8.1/etc/mongod.conf"
SYSCOnFIG="/etc/sysconfig/mongod"
mOngod="/usr/local/mongodb-linux-x86_64-1.8.1/bin/mongod"
MONGO_USER=mongod
MONGO_GROUP=mongod
. "$SYSCONFIG" || true
start()
{
echo -n $"Starting mongod: "
daemon --user "$MONGO_USER" $mongod $OPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/mongod
}
stop()
{
echo -n $"Stopping mongod: "
killproc -p /www/data/mongo/mongod.lock -t30 -TERM $mongod
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/mongod
}
restart () {
stop
start
}
ulimit -n 12000
RETVAL=0
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload|force-reload)
restart
;;
condrestart)
[ -f /var/lock/subsys/mongod ] && restart || :
;;
status)
status $mongod
RETVAL=$?
;;
*)
echo "Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
RETVAL=1
esac
exit $RETVAL

# chmod +x /etc/init.d/mongod
# chkconfig ?add mongod
# chkconfig mongod on
# service mongod restart

日志信息如下:
Sat May 7 14:40:55 got kill or ctrl c or hup signal 15 (Terminated), will terminate after current cmd ends
Sat May 7 14:40:55 [interruptThread] now exiting
Sat May 7 14:40:55 dbexit:
Sat May 7 14:40:55 [interruptThread] shutdown: going to close listening sockets...
Sat May 7 14:40:55 [interruptThread] closing listening socket: 5
Sat May 7 14:40:55 [interruptThread] closing listening socket: 6
Sat May 7 14:40:55 [interruptThread] closing listening socket: 7
Sat May 7 14:40:55 [interruptThread] closing listening socket: 8
Sat May 7 14:40:55 [interruptThread] removing socket file: /tmp/mongodb-27017.sock
Sat May 7 14:40:55 [interruptThread] removing socket file: /tmp/mongodb-28017.sock
Sat May 7 14:40:55 [interruptThread] shutdown: going to flush diaglog...
Sat May 7 14:40:55 [interruptThread] shutdown: going to close sockets...
Sat May 7 14:40:55 [interruptThread] shutdown: waiting for fs preallocator...
Sat May 7 14:40:55 [interruptThread] shutdown: closing all files...
Sat May 7 14:40:55 closeAllFiles() finished
Sat May 7 14:40:55 [interruptThread] shutdown: removing fs lock...
Sat May 7 14:40:55 dbexit: really exiting now
Sat May 7 14:40:55 [initandlisten] MongoDB starting : pid=20495 port=27017 dbpath=/www/data/mongo 64-bit
Sat May 7 14:40:55 [initandlisten] db version v1.8.1, pdfile version 4.5
Sat May 7 14:40:55 [initandlisten] git version: a429cd4f535b2499cc4130b06ff7c26f41c00f04
Sat May 7 14:40:55 [initandlisten] build sys info: Linux bs-linux64.10gen.cc 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_41
Sat May 7 14:40:55 [initandlisten] waiting for connections on port 27017
Sat May 7 14:40:55 [websvr] web admin interface listening on port 28017

5.查看端口
# netstat -nptl | grep mongod
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 20495/mongod
tcp 0 0 0.0.0.0:2801 0.0.0.0:* LISTEN 20495/mongod

6.web界面
http://localhost:28017

7.登录
Mongo是mongodb自带的交互式Javascript shell,用来对mongod进行操作和管理的交互式环境。
# /usr/local/mongodb-linux-x86_64-1.8.1/bin/mongo
注意:MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。

推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • 像跟踪分布式服务调用那样跟踪Go函数调用链 | Gopher Daily (2020.12.07) ʕ◔ϖ◔ʔ
    每日一谚:“Acacheisjustamemoryleakyouhaven’tmetyet.”—Mr.RogersGo技术专栏“改善Go语⾔编程质量的50个有效实践” ... [详细]
  • 对于一般的扩展包,我们一般直接pipinstallxxx即可安装,但是unrar直接安装后,发现并不能通过Python程序实现解压的功能& ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
author-avatar
手机用户2502913993
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有