MongoDB_4.4 安裝和配置


MongoDB4.xxx 安裝與配置

1、社區版 下載地址 www.mongodb.com/download-center/community ;
"install mongoDB compass" 不勾選;勾選后悔安裝這個數據庫管理工具;可以自定義目錄;其他默認;

2、配置環境變量
安裝目錄下的 bin 目錄 ; 如:C:\z_MongoDB\bin;配置到系統環境變量中(控制面板\系統和安全\系統\高級系統設置\環境變量;
會自動添加到服務中了;重啟運行命令 services.msc(window10)打開服務界面,此時已經自動添加到系統服務里面了,每次開機自動重啟

3、創建超級管理員賬戶

use admin
db.createUser({
    user:'admin',
    pwd:'123456',
    roles:[{role:'root',db:'admin'}]
})
刪除超級賬戶:db.dropUers('admin');

C:\z_MongoDB\bin\mongod.cfg 找到這個配置文件  放開 security表示開啟權限驗證
這個文件有嚴格的格式,注意空格(1053錯誤,無法重啟)
security:
   authorization: enabled

注意:authorization 冒號 后面有個空格 去掉或多加一個空格都會報錯;

4、用超級管理員賬戶連接數據庫(用命令行)
mongo admin -u 用戶名-p 密碼
mongo 192.168.1.200:27017/test -u user -p password
其他鏈接方式:const url = 'mongodb://admin:123456@localhost:27017/';

5、使用超級管理員登錄后,給某個數據庫單獨創建用戶名,密碼,及權限

use 數據庫名
db.createUser({
   user:"eggadmin",
   pwd:"123456",
   roles:[{role:"dbOwner",db:"eggcms"}] 
})

6、數據庫角色分類
(1)數據庫用戶角色:read、readWrite;
(2)數據庫管理角色:dbAdmin、dbOwner、userAdmin;
(3)集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
(4)備份恢復角色:backup、restore;
(5)所有數據庫角色: readAnyDatabase、readWriteAnyDatabase、 userAdminAnyDatabase、dbAdminAnyDatabase
(6)超級用戶角色:root

7、基本管理命令
1、show users; // 查看當前庫下的用戶
2、db.dropUser("eggadmin") // 刪除用戶
3、db.updateUser("admin",{pwd:"password"}); // 修改用戶密碼
4、db.auth("admin","password"); // 密碼認證 (數據庫設置了密碼,要認證后才能連接成功)
5、show tables // 列出該庫下所有表

8、導出與恢復
MongoDB 4.4版本 之后 MongoDB數據庫工具現在與MongoDB服務 分開發布 需要單獨安裝
1. 下載地址
2. windwos 下載后解壓,配置到環境變量 path 中,然后就可以使用 mongodump、 mongorestore、 mongoimport、 mongoexport 命名來備份了
3. 在導入其他人的庫后,應該清空 -->該庫下的用戶 -->再創建用戶后再鏈接;

備份單個表
mongodump -u  superuser -p 123456  --port 27017 --authenticationDatabase admin -d myTest -c d -o /backup/mongodb/myTest_d_bak_201507021701.bak

備份單個庫
mongodump  -u  superuser -p 123456 --port 27017  --authenticationDatabase admin -d myTest -o  /backup/mongodb/

備份所有庫
mongodump  -u  superuser -p 123456 --authenticationDatabase admin  --port 27017 -o /root/bak 

備份所有庫推薦使用添加--oplog參數的命令,這樣的備份是基於某一時間點的快照,只能用於備份全部庫時才可用,單庫和單表不適用:
mongodump -h 127.0.0.1 --port 27017   --oplog -o  /root/bak 

同時,恢復時也要加上--oplogReplay參數,具體命令如下(下面是恢復單庫的命令):
mongorestore  -d swrd --oplogReplay  /home/mongo/swrdbak/swrd/


恢復單個庫:
mongorestore  -u  superuser -p 123456 --port 27017  --authenticationDatabase admin -d myTest   /backup/mongodb/

恢復所有庫:
mongorestore   -u  superuser -p 123456 --port 27017  --authenticationDatabase admin  /root/bak

恢復單表
mongorestore -u  superuser -p 123456  --authenticationDatabase admin -d myTest -c d /backup/mongodb/myTest_d_bak_201507021701.bak/myTest/d.bson

注意:
      1.mongorestore恢復數據默認是追加,如打算先刪除后導入,可以加上--drop參數,不過添加--drop參數后,會將數據庫數據清空后再導入,如果數據庫備份后又新加入了數據,也會將新加的數據刪除,它不像mysql有一個存在的判斷
      2.mongodump在mongo關閉時,也是可以備份的,不過需要指定數據目錄,命令為:mongodump  --dbpath  /data/db

9、mongodump與mongoexport的區別:

      1. mongodump導出的是bson格式,是二進制形式,不過可以使用mongo自帶的bsondump命令查看里面的數據,而mongoexport導出的則是文本,可以是csv、json格式。    
      2. JSON可讀性強但體積較大,BSON則是二進制文件,體積小但對人類幾乎沒有可讀性。
      3. 在一些mongodb版本之間,BSON格式可能會隨版本不同而有所不同,所以不同版本之間用mongodump/mongorestore可能不會成功,具體要看版本之間的兼容性。
         當無法使用BSON進行跨版本的數據遷移的時候,使用JSON格式即mongoexport/mongoimport是 一個可選項。跨版本的mongodump/mongorestore個人並不推薦,實在要做請先檢查文檔看兩個版本是否兼容(大部分時候是的)
      4. JSON雖然具有較好的跨版本通用性,但其只保留了數據部分,不保留索引,賬戶等其他基礎信息。使用時應該注意。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM