centOS 6 安裝mongoDB

來源:互聯網
上載者:User

標籤:資料庫   虛擬機器   檔案夾   linux安裝   百度一下   

mongoDB安裝與配置


第一步,去mongoDB官網下載mongoDB資料庫

下載版本要根據你的作業系統來下,

mongoDB如:mongodb-linux-x86_64-3.2.10.tgz


第二步,安裝虛擬機器

虛擬機器安裝略過


第三步,安裝linux系統

linux安裝略過


第四步,安裝SSH串連linx工具

略過


第五步,linx系統安裝好了之後,根據你的使用者密碼登入linx

使用SSH工具串連linx


以上自己百度一下就能找到



第六步,乾貨來了。

linux下安裝mongoDB

解壓mongoDB

修改一下檔案夾名字:mongodb

檔案結構如下:

mongodb 

->bin

->GNU-AGPL-3.0

->MPL-2

->README

->THIRD-PARTY-NOTICES

在此檔案夾建立兩個檔案夾,用於存放資料檔案以及記錄檔(當然你也可以自己選擇自己喜歡的位置)

檔案夾名為:db

       log

  

輸入命令:cd /usr/local/

將之前的mongodb複製一下粘帖進這個目錄下



輸入命令: cd /usr/local/mongodb/bin

/** 啟動服務  **/

./mongod --dbpath=/usr/local/mongodb/db/ --logpath=/usr/local/mongodb/log/mongo.log --logappend  --auth  --port=27017 --fork


/** 成功資訊 **/

about to fork child process, waiting until server is ready for connections.

forked process: 12999

child process started successfully, parent exiting


終於啟動成功了

./mongod


use admin


/** 建立超級管理員,mongoDB 3.0以後的版本適用create建立,不是add  **/

db.createUser({user: "super",pwd: "super",roles: [ { role: "root", db: "admin" } ]})


db.auth("super","super")


/** 建立資料庫  **/

use mydb

添加資料

db.usr.insert({‘name‘:‘tompig‘});




/** 上面只是建立了admin資料庫的賬戶,新建立的資料庫還不能訪問 **/

使用super賬戶登入進去建立

./mongo

use admin

db.auth("super","super")

use mydb

db.createUser({user: "testx",pwd: "testx",roles: [ { role: "dbAdmin", db: "mydb" } ]})

建立成功後,使用testx使用者串連資料進行訪問。


/** 關閉服務  **/

1、普通命令:

$ ./mongo

> use admin

> db.shutdownServer()



注意:必須關閉防火牆,否則訪問不到

/** 關閉防火牆  **/

service iptables stop


/** 永久關閉防火牆 **/

chkconfig --level 35 iptables off



遇到下面

報錯:

Permission denied.


輸入命令:chmod -R 777 /usr/local/mongodb(這裡的路徑是mongodb的路徑)   原因=先看是否是root許可權,而且是ssh複製粘帖進去的,並沒有賦予許可權


報錯:

./mongod: /usr/lib64/libcrypto.so.10: no version information available (required by ./mongod)

./mongod: /usr/lib64/libssl.so.10: no version information available (required by ./mongod)

./mongod: relocation error: ./mongod: symbol TLSv1_2_client_method, version libssl.so.10 not defined in file libssl.so.10 with link time reference


輸入命令:yum install -y openssl-devel openssl解決,安裝openssl依賴運行是需要的



報錯:

about to fork child process, waiting until server is ready for connections.

forked process: 12981

ERROR: child process failed, exited with error number 1

輸入命令:./mongod --repair --dbpath /usr/local/mongodb/db/ --repairpath /tmp/mongodb




上面的設定多麻煩啊,下面配置快捷啟動方式


建立記事本,把名字改為mongo.conf,把下面的複製粘貼進去

dbpath=/usr/local/mongodb/db

logpath=/usr/local/mongodb/log/mongo.log

port=27017

fork=true

auth=true

bindIp=0.0.0.0


相信大家看了上面的配置也能看懂,

dbpath=mongodb的資料庫存放路徑

logpath=mongodb的記錄檔存放路徑

port=連接埠號碼

fork=true這個是以守護進程的方式運行

auth=true是否需要認證登入

bind_ip=綁定連接埠號碼,0.0.0.0是任何ip都能訪問進來,否則需要指定ip如:192.168.1.102




配置好了之後呢,把此檔案放入/usr/mongodb/bin目錄下

輸入命令:cd /usr/local/mongodb/bin進入目錄

輸入命令:./mongod -f mongo.conf啟動


over,下面是db的協助












db的協助

db.createUser(username,password) 添加使用者 

db.auth(usrename,password)   設定資料庫連接驗證 

db.cloneDataBase(fromhost)   從目標伺服器複製一個資料庫 

db.commandHelp(name)      returns the help for the command 

db.copyDatabase(fromdb,todb,fromhost) 複製資料庫fromdb---來源資料庫名稱,todb---目標資料庫名稱,fromhost---來源資料庫伺服器位址 

db.createCollection(name,{size:3333,capped:333,max:88888}) 建立一個資料集,相當於一個表 

db.currentOp()         取消當前庫的當前操作 

db.dropDataBase()       刪除當前資料庫 

db.eval(func,args)       run code server-side 

db.getCollection(cname)    取得一個資料集合,同用法:db[‘cname‘] or 

db.getCollenctionNames()    取得所有資料集合的名稱列表 

db.getLastError()       返回最後一個錯誤的提示訊息 

db.getLastErrorObj()      返回最後一個錯誤的對象 

db.getMongo()         取得當前伺服器的連線物件get the server 

db.getMondo().setSlaveOk()   allow this connection to read from then nonmaster membr of a replica pair 

db.getName()          返回當操作資料庫的名稱 

db.getPrevError()       返回上一個錯誤對象 

db.getProfilingLevel()     擷取profile level 

db.getReplicationInfo()    獲得重複的資料 

db.getSisterDB(name)      get the db at the same server as this onew 

db.killOp()          停止(殺死)在當前庫的當前操作 

db.printCollectionStats()   返回當前庫的資料集狀態 

db.printReplicationInfo()    列印主要資料庫的複製狀態資訊 

db.printSlaveReplicationInfo()    列印從資料庫的複製狀態資訊 

db.printShardingStatus()    返回當前資料庫是否為共用資料庫 

db.removeUser(username)    刪除使用者 

db.repairDatabase()      修複當前資料庫 

db.resetError() 

db.runCommand(cmdObj)     run a database command. if cmdObj is a string, turns it into {cmdObj:1} 

db.setProfilingLevel(level)  設定profile level 0=off,1=slow,2=all 

db.shutdownServer()      關閉當前服務程式 

db.version()          返回當前程式的版本資訊 


Read:允許使用者讀取指定資料庫readWrite:允許使用者讀寫指定資料庫dbAdmin:允許使用者在指定資料庫中執行管理函數,如索引建立、刪除,查看統計或訪問system.profileuserAdmin:允許使用者向system.users集合寫入,可以找指定資料庫裡建立、刪除和系統管理使用者clusterAdmin:只在admin資料庫中可用,賦予使用者所有分區和複製集相關函數的系統管理權限。readAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀許可權readWriteAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀寫權限userAdminAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的userAdmin許可權dbAdminAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的dbAdmin許可權。root:只在admin資料庫中可用。超級帳號,超級許可權


表的協助,格式,db.表名.help()   

db.test.find({id:10})     返回test資料集ID=10的資料集 

db.test.find({id:10}).count() 返回test資料集ID=10的資料總數 

db.test.find({id:10}).limit(2) 返回test資料集ID=10的資料集從第二條開始的資料集 

db.test.find({id:10}).skip(8) 返回test資料集ID=10的資料集從0到第八條的資料集 

db.test.find({id:10}).limit(2).skip(8) 返回test資料集ID=1=的資料集從第二條到第八條的資料 

db.test.find({id:10}).sort()  返回test資料集ID=10的排序資料集 

db.test.findOne([query])    返回合格一條資料 

db.test.getDB()        返回此資料集所屬的資料庫名稱 

db.test.getIndexes()      返回些資料集的索引資訊 

db.test.group({key:...,initial:...,reduce:...[,cond:...]})  返回分組資訊 

db.test.mapReduce(mayFunction,reduceFunction,<optional params>) 這個有點像預存程序 

db.test.remove(query)           在資料集中刪除一條資料 

db.test.renameCollection(newName)     重新命名些資料集名稱 

db.test.save(obj)             往資料集中插入一條資料 

db.test.stats()              返回此資料集的狀態 

db.test.storageSize()           返回此資料集的儲存大小 

db.test.totalIndexSize()          返回此資料集的索引檔案大小 

db.test.totalSize()            返回些資料集的總大小 

db.test.update(query,object[,upsert_bool]) 在此資料集中更新一條資料 

db.test.validate()             驗證此資料集 

db.test.getShardVersion()         返回資料集共用版本號碼 



本文出自 “青蔥歲月” 部落格,請務必保留此出處http://alex233.blog.51cto.com/8904951/1858856

centOS 6 安裝mongoDB

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.