1. 程式人生 > >MongoDB非關係型資料庫的簡介、建立資料庫和表、配置使用者等

MongoDB非關係型資料庫的簡介、建立資料庫和表、配置使用者等

簡介:

MongoDB是一個高效能,開源,無模式的文件型資料庫,是一個基於分散式檔案儲存的資料庫,是一個介於關係資料庫和非關係資料庫之間的產品,是非關係資料庫當中功能最豐富,最像關係資料庫的,是當前NoSQL資料庫產品中最熱門的一種。

mongodb的結構和普通的關係型資料庫的結構也有相似之處,

mongdb的database相當於關係型資料庫的database;

mongdb的collection相當於關係型資料庫的table;

mongdb的document相當於關係型資料庫的row;

上一篇我們說了mongodb遠端連線配置,今天給大家說下mongodb怎麼建立資料庫和配置使用者,畢竟光有遠端連線是不夠的,我們還要上去操作和放資料的.
  系統:centos 5.x
  環境:mongodb
1.安裝mongodb
這步就不說了,大家自己去看

Centos安裝MongoDB.

2.建立資料庫
use tt
這樣就建立了一個數據庫,如果什麼都不操作離開的話,這個庫就會被系統刪除.所以我們還要執行下面的命令:
db.usr.insert({'name':'tompig'});
db.usr.insert({'name':'tompig1','id':1});

我是隨便整了2個表,這個無所謂的,反正要匯入表的話就刪除掉這2個就可以了,目前我們只是想讓資料庫保持住.

然後使用命令檢視是否有儲存tt這個資料庫:
show dbs

3.配置使用者
use tt
db.addUser('mongodb','123456');

mongodb是使用者名稱,123456是密碼.

好了,這樣一個數據庫和對這個資料庫配置使用者就完成了.

mongodb常用命令:
1、Help檢視命令提示

 help

  db.help();

  db.yourColl.help();

  db.youColl.find().help();

  rs.help();

2、切換/建立資料庫

 use yourDB;  當建立一個集合(table)的時候會自動建立當前資料庫

3、查詢所有資料庫

 show dbs;

4、刪除當前使用資料庫

 db.dropDatabase();

5、從指定主機上克隆資料庫

 db.cloneDatabase(“127.0.0.1”); 將指定機器上的資料庫的資料克隆到當前資料庫

6、從指定的機器上覆制指定資料庫資料到某個資料庫

 db.copyDatabase("mydb", "temp", "127.0.0.1");將本機的mydb的資料複製到temp資料庫中

7、修復當前資料庫

 db.repairDatabase();

8、檢視當前使用的資料庫

 db.getName();

 db; db和getName方法是一樣的效果,都可以查詢當前使用的資料庫

9、顯示當前db狀態

 db.stats();

10、當前db版本

 db.version();

11、檢視當前db的連結機器地址

 db.getMongo();

Collection聚集集合

1、建立一個聚集集合(table)

 db.createCollection(“collName”, {size: 20, capped: 5, max: 100});

2、得到指定名稱的聚集集合(table)

 db.getCollection("account");

3、得到當前db的所有聚集集合

 db.getCollectionNames();

4、顯示當前db所有聚集索引的狀態

 db.printCollectionStats();

 使用者相關

1、新增一個使用者

 db.addUser("name");

 db.addUser("userName", "pwd123", true); 新增使用者、設定密碼、是否只讀

2、資料庫認證、安全模式

 db.auth("userName", "123123");

3、顯示當前所有使用者

 show users;

4、刪除使用者

 db.removeUser("userName");

其他

1、查詢之前的錯誤資訊
 db.getPrevError();
2、清除錯誤記錄
 db.resetError();

~~~~~~~~~~~~~~~~~

預設不需要帳號密碼,在/etc/mongodb.conf中設定auth = true後重啟開啟帳號許可權功能。

1,建立admin的超級許可權: mongo 

use admin; db.addUser('root','sa') 增加了root帳號,這個時候執行show collections;提示沒有許可權,必須先執行db.auth('root','sa') ,返回1說明驗證成功!返回0說明驗證失敗! 直接登陸其他表時,必須先use admin;db.auth('root','sa'),再執行use keke;show collections;否則還是沒有許可權。

2,如果想單獨訪問一個表,用獨立的使用者名稱,就需要在那個表裡面建相應的user。 mongo登陸,

use admin;db.auth('root','sa');

use keke;db.addUser('keke','test') ; 這個時候可以直接用keke帳號登陸keke資料庫

mongo use keke;db.auth("keke","test");show collections;正確。

原文網址:https://www.cnblogs.com/jimcsharp/p/5597980.html