Linux下安装MongoDB的实现步骤
Linux下安装MongoDB的实现步骤
MongoDB是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐。MongoDB很好的实现了面向对象的思想(OO思想),在MongoDB中每一条记录都是一个Document对象。MongoDB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。本文介绍了如何快速安装mongodb供大家参考。
一、安装配置mongodb
Step1:设置系统环境及确保缺省端口27107可用
###当前环境 #cat/etc/issue RedHatEnterpriseLinuxServerrelease6.5(Santiago) #vi/etc/selinux/config SELINUX=disabled
Step2:下载安装文件
下载地址:https://www.mongodb.org/downloads. 或者直接在命令提示符下使用curl命令下载 curl-Ohttps://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
Step3:解压下载的文件
#pwd /usr/local/src #tar-xvfmongodb-linux-x86_64-rhel62-3.0.6.gz###注,本文直接从网站下载,所以文件为.gz
Step4:复制解压文件到运行目录
#mkdir-p/var/lib/mongodb #cp-R-n/usr/local/src/mongodb-linux-x86_64-rhel62-3.0.6/./var/lib/mongodb/
Step5:设置环境变量
e.g.exportPATH=/bin:$PATH #vi~/.bash_profile exportPATH=/var/lib/mongodb/bin:$PATH #source~/.bash_profile 
Step6:创建数据目录
#mkdir-p/data/mongodata
二、启动及验证mongodb
###启动mongo
#mongod--dbpath/data/mongodata
###以下内容为启动后输出的相关信息
2015-10-28T10:03:33.100+0800IJOURNAL[initandlisten]journaldir=/data/mongodata/journal
2015-10-28T10:03:33.101+0800IJOURNAL[initandlisten]recover:nojournalfilespresent,norecoveryneeded
2015-10-28T10:03:33.264+0800IJOURNAL[initandlisten]preallocateIsFaster=true2.18
2015-10-28T10:03:33.398+0800IJOURNAL[durability]Durabilitythreadstarted
2015-10-28T10:03:33.398+0800IJOURNAL[journalwriter]Journalwriterthreadstarted
2015-10-28T10:03:33.401+0800ICONTROL[initandlisten]MongoDBstarting:pid=10191port=27017dbpath=/data/mongodata64-bithost=java_2
2015-10-28T10:03:33.401+0800ICONTROL[initandlisten]**WARNING:Youarerunningthisprocessastherootuser,whichisnotrecommended.
2015-10-28T10:03:33.401+0800ICONTROL[initandlisten]
2015-10-28T10:03:33.402+0800ICONTROL[initandlisten]
2015-10-28T10:03:33.402+0800ICONTROL[initandlisten]**WARNING:/sys/kernel/mm/transparent_hugepage/enabledis'always'.
2015-10-28T10:03:33.402+0800ICONTROL[initandlisten]**Wesuggestsettingitto'never'
2015-10-28T10:03:33.402+0800ICONTROL[initandlisten]
2015-10-28T10:03:33.402+0800ICONTROL[initandlisten]**WARNING:/sys/kernel/mm/transparent_hugepage/defragis'always'.
2015-10-28T10:03:33.402+0800ICONTROL[initandlisten]**Wesuggestsettingitto'never'
2015-10-28T10:03:33.402+0800ICONTROL[initandlisten]
2015-10-28T10:03:33.402+0800ICONTROL[initandlisten]dbversionv3.0.6
2015-10-28T10:03:33.402+0800ICONTROL[initandlisten]gitversion:1ef45a23a4c5e3480ac919b28afcba3c615488f2
2015-10-28T10:03:33.402+0800ICONTROL[initandlisten]buildinfo:Linuxip-10-67-194-1232.6.32-220.el6.x86_64#1SMPWedNov908:03:13EST2011x86_64BOOST_LIB_VERSION=1_49
2015-10-28T10:03:33.402+0800ICONTROL[initandlisten]allocator:tcmalloc
2015-10-28T10:03:33.402+0800ICONTROL[initandlisten]options:{storage:{dbPath:"/data/mongodata"}}
2015-10-28T10:03:33.404+0800IINDEX[initandlisten]allocatingnewnsfile/data/mongodata/local.ns,fillingwithzeroes...
2015-10-28T10:03:33.491+0800ISTORAGE[FileAllocator]allocatingnewdatafile/data/mongodata/local.0,fillingwithzeroes...
2015-10-28T10:03:33.491+0800ISTORAGE[FileAllocator]creatingdirectory/data/mongodata/_tmp
2015-10-28T10:03:33.497+0800ISTORAGE[FileAllocator]doneallocatingdatafile/data/mongodata/local.0,size:64MB,took0.001secs
2015-10-28T10:03:33.511+0800INETWORK[initandlisten]waitingforconnectionsonport27017
###停止mongo,直接使用ctrl+c
^C2015-10-28T10:09:21.510+0800ICONTROL[signalProcessingThread]gotsignal2(Interrupt),willterminateaftercurrentcmdends
2015-10-28T10:09:21.511+0800ICONTROL[signalProcessingThread]nowexiting
2015-10-28T10:09:21.511+0800INETWORK[signalProcessingThread]shutdown:goingtocloselisteningsockets...
2015-10-28T10:09:21.511+0800INETWORK[signalProcessingThread]closinglisteningsocket:5
2015-10-28T10:09:21.511+0800INETWORK[signalProcessingThread]closinglisteningsocket:6
2015-10-28T10:09:21.511+0800INETWORK[signalProcessingThread]removingsocketfile:/tmp/mongodb-27017.sock
2015-10-28T10:09:21.511+0800INETWORK[signalProcessingThread]shutdown:goingtoflushdiaglog...
2015-10-28T10:09:21.511+0800INETWORK[signalProcessingThread]shutdown:goingtoclosesockets...
2015-10-28T10:09:21.512+0800ISTORAGE[signalProcessingThread]shutdown:waitingforfspreallocator...
2015-10-28T10:09:21.512+0800ISTORAGE[signalProcessingThread]shutdown:finalcommit...
2015-10-28T10:09:21.512+0800IJOURNAL[signalProcessingThread]journalCleanup...
2015-10-28T10:09:21.512+0800IJOURNAL[signalProcessingThread]removeJournalFiles
2015-10-28T10:09:21.515+0800IJOURNAL[signalProcessingThread]Terminatingdurabilitythread...
2015-10-28T10:09:21.615+0800IJOURNAL[journalwriter]Journalwriterthreadstopped
2015-10-28T10:09:21.615+0800IJOURNAL[durability]Durabilitythreadstopped
2015-10-28T10:09:21.615+0800ISTORAGE[signalProcessingThread]shutdown:closingallfiles...
2015-10-28T10:09:21.618+0800ISTORAGE[signalProcessingThread]closeAllFiles()finished
2015-10-28T10:09:21.618+0800ISTORAGE[signalProcessingThread]shutdown:removingfslock...
2015-10-28T10:09:21.618+0800ICONTROL[signalProcessingThread]dbexit:rc:0
###修复启动过程中的两个警告,关于使用root用户启动mongo的警告先忽略
#echo"never">/sys/kernel/mm/transparent_hugepage/enabled
#echo"never">/sys/kernel/mm/transparent_hugepage/defrag
###再次重启,后置于后台进程,
#mongod--dbpath/data/mongodata&
###查看启动后的进程
#ps-ef|grepmongo|grep-vgrep
root1111527956010:11pts/200:00:00mongod--dbpath/data/mongodata
#lsof-i:27017
COMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAME
mongod11115root5uIPv4505671190t0TCP*:27017(LISTEN)
###使用mongo连接到mongod
#mongo
MongoDBshellversion:3.0.6
connectingto:test
2015-10-28T10:14:30.685+0800INETWORK[initandlisten]connectionacceptedfrom127.0.0.1:53907#1(1connectionnowopen)
Serverhasstartupwarnings:
2015-10-28T10:11:49.217+0800ICONTROL[initandlisten]**WARNING:Youarerunningthisprocessastherootuser,whichisnotrecommended.
2015-10-28T10:11:49.217+0800ICONTROL[initandlisten]
>help
db.help()helpondbmethods
db.mycoll.help()helponcollectionmethods
sh.help()shardinghelpers
rs.help()replicasethelpers
helpadminadministrativehelp
helpconnectconnectingtoadbhelp
helpkeyskeyshortcuts
helpmiscmiscthingstoknow
helpmrmapreduce
showdbsshowdatabasenames
showcollectionsshowcollectionsincurrentdatabase
showusersshowusersincurrentdatabase
showprofileshowmostrecentsystem.profileentrieswithtime>=1ms
showlogsshowtheaccessibleloggernames
showlog[name]printsoutthelastsegmentofloginmemory,'global'isdefault
usesetcurrentdatabase
db.foo.find()listobjectsincollectionfoo
db.foo.find({a:1})listobjectsinfoowherea==1
itresultofthelastlineevaluated;usetofurtheriterate
DBQuery.shellBatchSize=xsetdefaultnumberofitemstodisplayonshell
exitquitthemongoshell
>db.getCollection("version");
test.version
>exit
bye
 
三、mongodb相关工具
###在安装文件下有README,描述了常用的mongodb相关命令行工具
#more/usr/local/mongodb/README
MongoDBREADME
WelcometoMongoDB!
COMPONENTS
bin/mongod-Thedatabaseprocess.
bin/mongos-Shardingcontroller.
bin/mongo-Thedatabaseshell(usesinteractivejavascript).
UTILITIES
bin/mongodump-MongoDBdumptool-forbackups,snapshots,etc..
bin/mongorestore-MongoDBrestoreadump
bin/mongoexport-Exportasinglecollectiontotest(JSON,CSV)
bin/mongoimport-ImportfromJSONorCSV
bin/mongofiles-UtilityforputtingandgettingfilesfromMongoDBGridFS
bin/mongostat-Showperformancestatistics
RUNNING
Forcommandlineoptionsinvoke:
$./mongod--help
Torunasingleserverdatabase:
$mkdir/data/db
$./mongod
$
$#Themongojavascriptshellconnectstolocalhostandtestdatabasebydefault:
$./mongo
>help
DRIVERS
Clientdriversformostprogramminglanguagesareavailableatmongodb.org.Usethe
shell("mongo")foradministrativetasks.
###获取单个命令用法
#--help
#mongod--help|more
Options:
Generaloptions:
-h[--help]showthisusageinformation
--versionshowversioninformation
#mongod--version
dbversionv3.0.6
gitversion:1ef45a23a4c5e3480ac919b28afcba3c615488f2
 
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
