1.Mongo DB ,是目前在IT行業(yè)非常流行的一種非關(guān)系型數(shù)據(jù)庫(kù)(NoSql),其靈活的數(shù)據(jù)
讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、網(wǎng)頁(yè)空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、扎蘭屯網(wǎng)站維護(hù)、網(wǎng)站推廣。存儲(chǔ)方式,備受當(dāng)前IT從業(yè)人員的青睞。Mongo DB很好的實(shí)現(xiàn)了面向?qū)ο蟮乃枷?OO思想),
在Mongo DB中 每一條記錄都是一個(gè)Document對(duì)象。Mongo DB大的優(yōu)勢(shì)在于所有的數(shù)據(jù)
持久操作都無(wú)需開(kāi)發(fā)人員手動(dòng)編寫(xiě)SQL語(yǔ)句,直接調(diào)用方法就可以輕松的實(shí)現(xiàn)CRUD操作。
2.monogodb安裝
1.wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.5.tgz
2.tar xf mongodb-linux-x86_64-2.6.5.tgz
3.mv mongodb-linux-x86_64-2.6.5 /usr/local/mongodb
4.yum install openssl-devel openssl
3.mongodb啟動(dòng)測(cè)試
1.mkdir -pv /data/mongodb /log/mongodb
2./usr/local/mongodb/bin/mongod --port 27017 --fork --dbpath=/data/mongodb --logpath=/log/mongodb/mongodb.log --logappend
3./usr/local/mongodb/bin/mongo
use admin
db.shutdownServer()
exit
4.mongodb配置文件
在2.6版本以后使用另一種配置文件的格式,不能兼容以前的模式
2.6 http://docs.mongodb.org/manual/reference/configuration-options/
2.4 http://docs.mongodb.org/v2.4/reference/configuration-options/
概略
processManagement
systemLog
storage
net
setParameter
security
operationProfiling
replication
sharding
auditLog
示例
cat >>/usr/local/mongodb/mongodb.conf < systemLog: destination: file path: "/log/mongodb/mongodb.log" logAppend: true storage: dbPath: "/data/mongodb" #directoryPerDB: true mmapv1: smallFiles: true journal: enabled: true processManagement: fork: true pidFilePath: "/usr/local/mongodb/mongodb.pid" net: bindIp: 127.0.0.1,192.168.1.204 port: 27017 maxIncomingConnections: 1000000 http: enabled: true EOF #啟動(dòng) /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf #如果是第二次啟動(dòng)并且使用了directoryPerDB: true,則必需要把dbPath也更換為其他目錄 #通過(guò)web查看狀態(tài)信息 http://192.168.1.221:28017/ #停止服務(wù) /usr/local/mongodb/bin/mongo use admin db.shutdownServer() exit 5.mongodb主從配置 #會(huì)把之前的數(shù)據(jù)也會(huì)同步到從機(jī)上 #方法1 /usr/local/mongodb/bin/mongod --port 27017 --fork --dbpath=/data/mongodb --logpath=/log/mongodb/mongodb.log --logappend --master --oplogSize 64 /usr/local/mongodb/bin/mongod --port 27017 --fork --dbpath=/data/mongodb --logpath=/log/mongodb/mongodb.log --logappend --slave --source 192.168.1.204:27017 #方法2 /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf --master --oplogSize 64 /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf --slave --source 192.168.1.204:27017 #測(cè)試 #主庫(kù)添加記錄 /usr/local/mongodb/bin/mongo use test db.blog.save({title:"new article"}) #從庫(kù)查詢(xún) /usr/local/mongodb/bin/mongo db.blog.find() #在從機(jī)上查看主機(jī)信息 use local db.sources.find(); #主從切換 #如果在應(yīng)用中主掛掉了 #這個(gè)情況就需要停止從庫(kù), 把從庫(kù)以主庫(kù)的啟動(dòng)命令起來(lái) 6.mongodb集群(replset)(只支持12個(gè)節(jié)點(diǎn),多于12個(gè)節(jié)點(diǎn)使用master/slave) #比主比好的地方是當(dāng)主掛機(jī)上可以主動(dòng)切換一個(gè)從為主 #在配置文件中加入如下內(nèi)容 replication: oplogSizeMB: 128 replSetName: test http://docs.mongodb.org/manual/tutorial/deploy-replica-set-for-testing/ 結(jié)點(diǎn)類(lèi)型 Primary,Secondaries,Arbiters(只投票,不復(fù)制數(shù)據(jù)) 1.在每個(gè)節(jié)點(diǎn)啟動(dòng)mongodb /usr/local/mongodb/bin/mongod --dbpath /data/mongodb/ --replSet test --smallfiles --oplogSize 128 /usr/local/mongodb/bin/mongod --dbpath /data/mongodb/ --replSet test --smallfiles --oplogSize 128 #/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf 2.連接其中一個(gè) mongodb shell /usr/local/mongodb/bin/mongo 3.配置自己為其中一個(gè)節(jié)點(diǎn) rsconf = { _id: "test", members: [ { _id: 0, host: "192.168.1.204:27017" } ] } rs.initiate( rsconf ) 4.在主節(jié)點(diǎn)上添加其他節(jié)點(diǎn)(在mognodb shell中提示符為PRIMARY>) rs.add("192.168.1.204:27017") rs.addArb("192.168.1.201:27017") rs.remove("192.168.1.204:27017") 5.之后會(huì)自動(dòng)重新選舉一個(gè)新的主節(jié)點(diǎn) 6.使用配置文件的方法有配置文件中加入如下參數(shù)即可 replication: replSetName: "repltest" oplogSizeMB: 64 7.重新更新配置(更改主機(jī),更改優(yōu)先級(jí)) cfg = rs.conf(); cfg.members[1].priority = 2;(0為不能為主) cfg.members[0].hidden = true;(隱藏) cfg.members[0].slaveDelay = 3600;(延時(shí)秒) cfg.members[3].votes = 0;(無(wú)投票權(quán)) rs.reconfig(cfg); 注意: 1.配置好后從是不能提供讀的需要使用命令開(kāi)啟(在從上執(zhí)行) rs.slaveOk(); ===> db.getMongo().setSlaveOk() 2.主節(jié)點(diǎn)不允許直接優(yōu)先級(jí)為0,應(yīng)該先執(zhí)行如下命令才能設(shè)置 rs.stepDown() 3.查看幫助 rs.help() 4.官方文檔 http://docs.mongodb.org/manual/ 5.測(cè)試語(yǔ)句 db.foo.save({"id":123,"name":'liuyuanshijie'}); db.foo.find({"id":123}) 6.只有主能寫(xiě),其他節(jié)點(diǎn)不可寫(xiě),但可以設(shè)置為讀 #配置時(shí)可以預(yù)先準(zhǔn)備兩個(gè)做主,配置完成后一個(gè)成為primary,另一個(gè)成為secondary #然后通過(guò)設(shè)置給較高的優(yōu)先級(jí),當(dāng)主掛了后,從會(huì)立即接管成為主。 #這樣就可以使用keepalived在兩個(gè)機(jī)器上配置VIP來(lái)做成高可用。 #使用檢測(cè)腳本來(lái)檢測(cè)兩個(gè)服務(wù)器上的mongodb服務(wù)是否可用。 7.mongodb集群(Shard) #主要功能是可以進(jìn)行數(shù)據(jù)分片分散存儲(chǔ)到各個(gè)機(jī)器 1.配置config server cat >>/usr/local/mongodb/configsvr.conf < systemLog: destination: file path: "/log/configsvr/configsvr.log" logAppend: true storage: dbPath: "/data/configsvr" mmapv1: smallFiles: true journal: enabled: true processManagement: fork: true pidFilePath: "/usr/local/mongodb/configsvr.pid" net: bindIp: 127.0.0.1,192.168.1.221 port: 20000 maxIncomingConnections: 1000000 http: enabled: true sharding: clusterRole: configsvr EOF mkdir -pv /log/configsvr/ /data/configsvr /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/configsvr.conf 2.配置mongos路由 cat >>/usr/local/mongodb/mongos.conf < systemLog: destination: file path: "/log/mongos/mongos.log" logAppend: true sharding: autoSplit: true configDB: 192.168.1.221:20000 chunkSize: 32 processManagement: fork: true pidFilePath: "/usr/local/mongodb/mongos.pid" net: bindIp: 127.0.0.1,192.168.1.221 port: 30000 maxIncomingConnections: 1000000 http: enabled: true EOF mkdir -pv /log/mongos/ /usr/local/mongodb/bin/mongos -f /usr/local/mongodb/mongos.conf 3.啟動(dòng)各個(gè)實(shí)例,或者配置replset sharding: clusterRole: shardsvr 4.添加shard到集群 #連接到mongos /usr/local/mongodb/bin/mongo --host 192.168.1.221 --port 30000 #添加shard sh.addShard( "192.168.1.222:27017" ) #如果是集群使用如下方法添加 sh.addShard( "rs1/lab1:27017,lab2:27017,lab3:27017" ) #如果不能添加先刪除test數(shù)據(jù)庫(kù) use test db.dropDatabase(); #查看shard use admin db.runCommand( {listshards : 1 } ) 5.為數(shù)據(jù)庫(kù)開(kāi)啟分片 sh.enableSharding("test") 或 use admin db.runCommand( { enableSharding: test } ) 6.測(cè)試 use admin db.runCommand({enablesharding:"test2"}); //聲明test2庫(kù)允許分片 db.runCommand( { shardcollection : "test2.books", key : { id : 1 } } ); //聲明books表要分片 use test2 //切換到test2 db.stats(); //查看數(shù)據(jù)庫(kù)狀態(tài) db.books.stats(); //查看表狀態(tài) #添加數(shù)據(jù) for (var i = 1; i <= 20000; i++) db.books.save({id:i,name:"12345678",sex:"male",age:27,value:"test"}); db.books.stats(); //查看表狀態(tài) #一次插入2W條數(shù)據(jù),5秒左右才能平衡,你可以db.book.stats(); #重復(fù)這個(gè)命令,你會(huì)發(fā)現(xiàn)數(shù)據(jù)流的變化。 8.mongo php擴(kuò)展安裝 http://pecl.php.net/package/mongo 另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
分享名稱(chēng):mongodb安裝配置-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)網(wǎng)址:http://weahome.cn/article/ddihgh.html