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
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!