./mongoexport –d test(資料庫) -c cl(集合) -o /tmp/cl.out //導出記錄,導出的記錄和查詢結果相同
<a href="http://blog.51cto.com/attachment/201209/003538643.png" target="_blank"></a>
./mongoimport –d test –c c1 /tmp/cl.out //導入記錄
<a href="http://blog.51cto.com/attachment/201209/003620412.png" target="_blank"></a>
./mongodump –d test –o /tmp/ //備份資料,如果不指定路徑,則檔案預設會在bin目錄下建立dump目錄存放備份,json字尾。
<a href="http://blog.51cto.com/attachment/201209/003635764.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201209/003649775.png" target="_blank"></a>
./mongorestore –d test /tmp/test/ //恢複備份
<a href="http://blog.51cto.com/attachment/201209/003700905.png" target="_blank"></a>
mongodb預設很多使用者,隻有開啟認證才需要指定使用者。
./mongod –auth –dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/dblog &
<a href="http://blog.51cto.com/attachment/201209/003710343.png" target="_blank"></a>
>Use admin
>db.addUser(“root”,”123”); //添加使用者
<a href="http://blog.51cto.com/attachment/201209/003724912.png" target="_blank"></a>
>use test
>db.addUser(“user1”,”123”);
>db.auth(“user1”,”123”); 必須授權才能使用test
<a href="http://blog.51cto.com/attachment/201209/003745323.png" target="_blank"></a>
主從叢集的方式是最基本的mongod叢集方式,在最新版本中已經不是太推薦了。
測試:我們在同一台計算機上實作mongod的主從
./mongod –master –dbpath=/usr/local/mongodb/data1 –logpath=/usr/local/mongodb/dblog1 –fork –port 20001 //啟動主的
<a href="http://blog.51cto.com/attachment/201209/003800433.png" target="_blank"></a>
./mongod –slave –source 127.0.0.1:20001 –dbpath=/usr/local/mongodb/data2 –logpath=/usr/local/mongodb/dblog2 –fork –port 20002 //從伺服器啟動
<a href="http://blog.51cto.com/attachment/201209/003817615.png" target="_blank"></a>
主伺服器做增删,從伺服器會自動跟進,從伺服器插入不了資料,因為不是主,如增删可以用20001端口,查詢可以使用20002端口。
<a href="http://blog.51cto.com/attachment/201209/003830770.png" target="_blank"></a>
mongodb在1.6以上的版本中,使用了自動切換和自動修複的副本集功能。他的主節點不固定,是更靈活的叢集。
測試:同一台計算機上實作副本集
Mkdir –p /usr/local/mongodb/data1
Touch /usr/local/mongodb/log/dblog1
Touch /usr/local/mongodb/log/dblog2
建立key,用于私鑰路徑。
Mkdir /usr/local/mongodb/key
Ech “123456” > key1
Ech “123456” > key2
Chmod 600 /usr/local/mongodb/key/*
./mongod –replSet rs1 –keyFile /data/key/key1 –port 20001 –dbpath=/usr/local/mongodb/data1 –logpath=/usr/local/mongodb/log/dblog1 –fork //啟動副本集
<a href="http://blog.51cto.com/attachment/201209/003843338.png" target="_blank"></a>
啟動不了,就要看日志檔案,發現密碼短了
<a href="http://blog.51cto.com/attachment/201209/003858270.png" target="_blank"></a>
./mongo –port 20001 //啟動字元界面
增加config_rs1規則然後,rs.initiate(config_rs1);初始化
<a href="http://blog.51cto.com/attachment/201209/003930968.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201209/004626961.png" target="_blank"></a>
根據priority進行配置設定主從,優先級越高,則為主,這時打開另一個終端,會發現一個為primary另個為secondary,并且從資料自動。當然從伺服器需要執行“rs.slaveOK();”開啟從資料庫。
<a href="http://blog.51cto.com/attachment/201209/004716458.png" target="_blank"></a>
Rs.status(); //檢視主從伺服器狀态,可以看到主從和目前主機狀态
<a href="http://blog.51cto.com/attachment/201209/004641791.png" target="_blank"></a>
副本集叢集方式之是以比主從改進的地方就是自動切換的功能。如副本集中有一個資料出現問題,都可以自動實作功能切換。
Cd zxf mongo-1.2.6.tgz
Cd mongo-1.2.6
/usr/local/php5/bin/phpize //加載子產品
./configure –with-php-config=/usr/local/php5/bin/php-config –enable-mongo
Make && make install
Vi /etc/php.ini
Extension=mongo.so //增加mongo擴充
/usr/local/apache/bin/apachectl restart
<a href="http://blog.51cto.com/attachment/201209/004734887.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201209/004748484.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201209/004803705.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201209/004822403.png" target="_blank"></a>
<?php
$conn=new Mongo("mongodb://user1:123@localhost:27017/test")
$db=$conn->test; >
本文轉自zsaisai 51CTO部落格,原文連結:http://blog.51cto.com/3402313/989253