中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

mongodb之備份和恢復介紹-創新互聯

一、安裝環境介紹:

演示的mongo的安裝環境:
二進制安裝包mongoDB3.6.16
給mongodb授權超級管理員賬戶

站在用戶的角度思考問題,與客戶深入溝通,找到西平網站設計與西平網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:做網站、網站制作、企業官網、英文網站、手機端網站、網站推廣、主機域名虛擬主機、企業郵箱。業務覆蓋西平地區。
mongo --host 127.0.0.1 --port 6068
db.createUser({user: 'root', pwd:'TdLLQ6689', roles:[{role: 'root', db: 'admin'}]});
use admin
db.auth("root","TdLLQ6689")

建庫建表模擬數據

use dbtest001
db.chenji.insert({"name":"小花","年級":"二年級","性別":"男","愛好":"學習"})
use dbtest002
db.xiangmu.insert({"name":"小花","年級":"二年級","性別":"男","愛好":"學習"})
db.mumu.insert({"name":"小花","年級":"二年級","性別":"男","愛好":"學習"})

提示:此次演示備份和恢復主要采用超級賬戶root來進行演示

二、mongodump備份命令介紹:

2.1語法和參數說明:

mongodump -h dbhost -u xxx -p xxx -d dbname -o dbdirectory
參數介紹:
-h 指明數據庫宿主機的IP
--port 指明數據庫的端口
-u 指明數據庫的用戶名
-p 指明數據庫的密碼
-d 指明數據庫的名字
-c 指明collection的名字
-o 指明到要導出的文件名
-q 指明導出數據的過濾條件
--authenticationDatabase 驗證數據的名稱
--gzip 備份時壓縮
--oplog use oplog for taking a point-in-time snapshot

提前創建好演示的備份目錄:
mkdir full # 全量備份
mkdir single_db # 單庫備份
mkdir single_db_col # 庫中表備份
mkdir single_db.gzip # 庫備份壓縮
mkdir single_db_col.gzip # 庫中表備份壓縮

2.2全量備份:

[root@localhost ~]# mongodump -h 127.0.0.1:6068 -u root -p TdLLQ6689  -o /root/full
2020-01-04T18:13:18.271+0800    writing admin.system.users to 
2020-01-04T18:13:18.272+0800    done dumping admin.system.users (7 documents)
2020-01-04T18:13:18.272+0800    writing admin.system.version to 
2020-01-04T18:13:18.273+0800    done dumping admin.system.version (2 documents)
2020-01-04T18:13:18.273+0800    writing dbtest001.chenji to 
2020-01-04T18:13:18.273+0800    writing dbtest002.mumu to 
2020-01-04T18:13:18.273+0800    writing dbtest002.xiangmu to 
2020-01-04T18:13:18.274+0800    done dumping dbtest002.mumu (1 document)
2020-01-04T18:13:18.274+0800    done dumping dbtest001.chenji (2 documents)
2020-01-04T18:13:18.290+0800    done dumping dbtest002.xiangmu (2 documents)
[root@localhost ~]# cd full/
[root@localhost full]# ls
admin  dbtest001  dbtest002

2.3單庫備份:

采用超級賬戶root備份備份失敗:

[root@localhost ~]# mongodump -h 127.0.0.1:6068 -u root -p TdLLQ6689 -d dbtest001 -o /root/single_db
2020-01-04T18:22:20.087+0800    Failed: error connecting to db server: server returned error on SASL authentication step: Authentication failed.

解決辦法如下:

第一種方法:添加--authenticationDatabase admin

[root@localhost ~]# mongodump -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin  -d dbtest001 -o /root/single_db
2020-01-04T18:37:46.926+0800    writing dbtest001.chenji to 
2020-01-04T18:37:46.927+0800    done dumping dbtest001.chenji (2 documents)
[root@localhost ~]# mongodump -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin  -d dbtest002 -o /root/single_db
2020-01-04T18:37:54.253+0800    writing dbtest002.xiangmu to 
2020-01-04T18:37:54.253+0800    writing dbtest002.mumu to 
2020-01-04T18:37:54.254+0800    done dumping dbtest002.xiangmu (2 documents)
2020-01-04T18:37:54.254+0800    done dumping dbtest002.mumu (1 document)

[root@localhost ~]# tree /root/single_db
/root/single_db
├── dbtest001
│?? ├── chenji.bson
│?? └── chenji.metadata.json
└── dbtest002
    ├── mumu.bson
    ├── mumu.metadata.json
    ├── xiangmu.bson
    └── xiangmu.metadata.json

2 directories, 6 files

第二種方法:針對單獨的庫授權讀寫權限進行備份

[root@localhost ~]# mongo --host 127.0.0.1 --port 6068
MongoDB shell version v3.6.16
connecting to: mongodb://127.0.0.1:6068/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("93f83e64-71ca-4b1d-b599-508b7fba8722") }
MongoDB server version: 3.6.16
> use dbtest001
>db.auth("root","TdLLQ6689")

> use dbtest001
>db.createUser({user: 'backupuser', pwd:'TdLLQ6689', roles:[{role: 'readWrite', db: 'dbtest001'}]});
> use dbtest002
>db.createUser({user: 'backupuser', pwd:'TdLLQ6689', roles:[{role: 'readWrite', db: 'dbtest002'}]});
[root@localhost ~]# mongodump -h 127.0.0.1:6068 -u backupuser -p TdLLQ6689  -d dbtest001 -o /root/single_db
2020-01-04T18:24:15.243+0800    writing dbtest001.chenji to 
2020-01-04T18:24:15.244+0800    done dumping dbtest001.chenji (2 documents)
[root@localhost ~]# ll /root/single_db/dbtest001/chenji.*
-rw-r--r-- 1 root root 192 1月   4 18:24 /root/single_db/dbtest001/chenji.bson
-rw-r--r-- 1 root root 130 1月   4 18:24 /root/single_db/dbtest001/chenji.metadata.json
[root@localhost ~]# mongodump -h 127.0.0.1:6068 -u backupuser -p TdLLQ6689  -d dbtest002 -o /root/single_db
2020-01-04T18:28:39.523+0800    writing dbtest002.xiangmu to 
2020-01-04T18:28:39.523+0800    writing dbtest002.mumu to 
2020-01-04T18:28:39.524+0800    done dumping dbtest002.xiangmu (2 documents)
2020-01-04T18:28:39.524+0800    done dumping dbtest002.mumu (1 document)
[root@localhost ~]# cd  /root/single_db
[root@localhost single_db]# ls
dbtest001  dbtest002

2.4備份單庫中指定的單表:

[root@localhost ~]# mongodump -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin  -d dbtest002 -c xiangmu -o /root/single_db_col
2020-01-04T18:34:30.260+0800    writing dbtest002.xiangmu to 
2020-01-04T18:34:30.261+0800    done dumping dbtest002.xiangmu (2 documents)
[root@localhost ~]# ll /root/single_db_col/dbtest002/
總用量 8
-rw-r--r-- 1 root root 192 1月   4 18:34 xiangmu.bson
-rw-r--r-- 1 root root 131 1月   4 18:34 xiangmu.metadata.json

2.5庫表備份壓縮:

2.5.1庫備份壓縮:

 [root@localhost ~]# mongodump -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin  -d dbtest002 -o /root/single_db --gzip
2020-01-04T18:44:28.558+0800    writing dbtest002.xiangmu to 
2020-01-04T18:44:28.559+0800    writing dbtest002.mumu to 
2020-01-04T18:44:28.560+0800    done dumping dbtest002.xiangmu (2 documents)
2020-01-04T18:44:28.561+0800    done dumping dbtest002.mumu (1 document)
[root@localhost ~]# tree single_db
single_db
└── dbtest002
    ├── mumu.bson.gz
    ├── mumu.metadata.json.gz
    ├── xiangmu.bson.gz
    └── xiangmu.metadata.json.gz

1 directory, 4 files

2.5.2庫中表備份壓縮:

[root@localhost ~]# mongodump -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin  -d dbtest001 -o /root/single_db_col.gzip  --gzip
2020-01-04T18:41:08.459+0800    writing dbtest001.chenji to 
2020-01-04T18:41:08.460+0800    done dumping dbtest001.chenji (2 documents)
[root@localhost dbtest001]# ll /root/single_db_col.gzip/dbtest001
總用量 8
-rw-r--r-- 1 root root 124 1月   4 18:41 chenji.bson.gz
-rw-r--r-- 1 root root 132 1月   4 18:41 chenji.metadata.json.gz

三、mongorestore恢復備份數據命令介紹

3.1語法和參數介紹:

mongorestore -h <hostname><:port> -d dbname <path>

--host <:port>, -h <:port>:mongoDB所在服務器地址,默認為: localhost:27017
-h 指明數據庫宿主機的IP
-u 指明數據庫的用戶名
-p 指明數據庫的密碼
-d 指明數據庫的名字 ## database to use when restoring from a BSON file
-c 指明collection的名字 ##collection to use when restoring from a BSON file
-o 指明到要導出的文件名
-q 指明導出數據的過濾條件
--authenticationDatabase 驗證數據的名稱
--gzip 備份時壓縮
--oplog use oplog for taking a point-in-time snapshot
--drop 恢復的時候把之前的集合drop掉

3.2利用全備份恢復到庫里:

提示:利用全備份直接恢復到線上的庫中會提示key沖突,恢復時要采用參數--drop 把之前的集合drop掉


[root@localhost ~]# mongorestore -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin   ./full/
2020-01-04T18:55:43.409+0800    preparing collections to restore from
2020-01-04T18:55:43.414+0800    reading metadata for dbtest001.chenji from full/dbtest001/chenji.metadata.json
2020-01-04T18:55:43.414+0800    restoring dbtest001.chenji from full/dbtest001/chenji.bson
2020-01-04T18:55:43.415+0800    reading metadata for dbtest002.xiangmu from full/dbtest002/xiangmu.metadata.json
2020-01-04T18:55:43.415+0800    reading metadata for dbtest002.mumu from full/dbtest002/mumu.metadata.json
2020-01-04T18:55:43.415+0800    restoring dbtest002.xiangmu from full/dbtest002/xiangmu.bson
2020-01-04T18:55:43.416+0800    restoring dbtest002.mumu from full/dbtest002/mumu.bson
2020-01-04T18:55:43.418+0800    error: multiple errors in bulk operation:
  - E11000 duplicate key error collection: dbtest002.xiangmu index: _id_ dup key: { : ObjectId('5e0f16191083b09e85237cb2') }
  - E11000 duplicate key error collection: dbtest002.xiangmu index: _id_ dup key: { : ObjectId('5e0f161d1083b09e85237cb3') }

2020-01-04T18:55:43.418+0800    no indexes to restore
2020-01-04T18:55:43.418+0800    finished restoring dbtest002.xiangmu (2 documents)
2020-01-04T18:55:43.436+0800    error: multiple errors in bulk operation:
  - E11000 duplicate key error collection: dbtest001.chenji index: _id_ dup key: { : ObjectId('5e0f150150fe973d9e9051f4') }
  - E11000 duplicate key error collection: dbtest001.chenji index: _id_ dup key: { : ObjectId('5e0f150750fe973d9e9051f5') }

2020-01-04T18:55:43.436+0800    no indexes to restore
2020-01-04T18:55:43.436+0800    finished restoring dbtest001.chenji (2 documents)
2020-01-04T18:55:43.436+0800    error: E11000 duplicate key error collection: dbtest002.mumu index: _id_ dup key: { : ObjectId('5e0f162d1083b09e85237cb4') }
2020-01-04T18:55:43.436+0800    no indexes to restore
2020-01-04T18:55:43.436+0800    finished restoring dbtest002.mumu (1 document)
2020-01-04T18:55:43.436+0800    restoring users from full/admin/system.users.bson
2020-01-04T18:55:43.447+0800    done

刪除數據庫然后進行恢復:

> use dbtest001
switched to db dbtest001
> db.dropDatabase()
{ "dropped" : "dbtest001", "ok" : 1 }
> use dbtest002
switched to db dbtest002
> db.dropDatabase()
{ "dropped" : "dbtest002", "ok" : 1 }

[root@localhost ~]# mongorestore -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin  ./full/
2020-01-04T18:59:29.633+0800    preparing collections to restore from
2020-01-04T18:59:29.639+0800    reading metadata for dbtest001.chenji from full/dbtest001/chenji.metadata.json
2020-01-04T18:59:29.639+0800    reading metadata for dbtest002.mumu from full/dbtest002/mumu.metadata.json
2020-01-04T18:59:29.640+0800    reading metadata for dbtest002.xiangmu from full/dbtest002/xiangmu.metadata.json
2020-01-04T18:59:29.646+0800    restoring dbtest002.xiangmu from full/dbtest002/xiangmu.bson
2020-01-04T18:59:29.648+0800    no indexes to restore
2020-01-04T18:59:29.648+0800    finished restoring dbtest002.xiangmu (2 documents)
2020-01-04T18:59:29.664+0800    restoring dbtest001.chenji from full/dbtest001/chenji.bson
2020-01-04T18:59:29.677+0800    restoring dbtest002.mumu from full/dbtest002/mumu.bson
2020-01-04T18:59:29.690+0800    no indexes to restore
2020-01-04T18:59:29.690+0800    finished restoring dbtest001.chenji (2 documents)
2020-01-04T18:59:29.690+0800    no indexes to restore
2020-01-04T18:59:29.690+0800    finished restoring dbtest002.mumu (1 document)
2020-01-04T18:59:29.690+0800    restoring users from full/admin/system.users.bson
2020-01-04T18:59:29.701+0800    done

添加參數--drop進行恢復:

[root@localhost ~]# mongorestore -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin --drop ./full/
2020-01-04T19:03:04.854+0800    preparing collections to restore from
2020-01-04T19:03:04.859+0800    reading metadata for dbtest001.chenji from full/dbtest001/chenji.metadata.json
2020-01-04T19:03:04.864+0800    restoring dbtest001.chenji from full/dbtest001/chenji.bson
2020-01-04T19:03:04.866+0800    no indexes to restore
2020-01-04T19:03:04.866+0800    finished restoring dbtest001.chenji (2 documents)
2020-01-04T19:03:04.879+0800    reading metadata for dbtest002.xiangmu from full/dbtest002/xiangmu.metadata.json
2020-01-04T19:03:04.880+0800    reading metadata for dbtest002.mumu from full/dbtest002/mumu.metadata.json
2020-01-04T19:03:04.884+0800    restoring dbtest002.xiangmu from full/dbtest002/xiangmu.bson
2020-01-04T19:03:04.898+0800    restoring dbtest002.mumu from full/dbtest002/mumu.bson
2020-01-04T19:03:04.899+0800    no indexes to restore
2020-01-04T19:03:04.899+0800    finished restoring dbtest002.xiangmu (2 documents)
2020-01-04T19:03:04.915+0800    no indexes to restore
2020-01-04T19:03:04.915+0800    finished restoring dbtest002.mumu (1 document)
2020-01-04T19:03:04.915+0800    restoring users from full/admin/system.users.bson
2020-01-04T19:03:04.928+0800    done

3.3把備份的庫表文件恢復到指定庫表中:

-d 指明數據庫的名字 而且備份的數據庫的數據文件必須是BSON格式的文件

[root@localhost ~]# mongorestore -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 ./full/dbtest002/
2020-01-05T07:36:24.293+0800    the --db and --collection args should only be used when restoring from a BSON file. Other uses are deprecated and will not exist in the future; use --nsInclude instead
2020-01-05T07:36:24.293+0800    building a list of collections to restore from full/dbtest002 dir
2020-01-05T07:36:24.294+0800    reading metadata for dbtest002.xiangmu from full/dbtest002/xiangmu.metadata.json
2020-01-05T07:36:24.295+0800    reading metadata for dbtest002.mumu from full/dbtest002/mumu.metadata.json
2020-01-05T07:36:24.299+0800    restoring dbtest002.mumu from full/dbtest002/mumu.bson
2020-01-05T07:36:24.303+0800    no indexes to restore
2020-01-05T07:36:24.303+0800    finished restoring dbtest002.mumu (1 document)
2020-01-05T07:36:24.319+0800    restoring dbtest002.xiangmu from full/dbtest002/xiangmu.bson
2020-01-05T07:36:24.321+0800    no indexes to restore
2020-01-05T07:36:24.321+0800    finished restoring dbtest002.xiangmu (2 documents)
2020-01-05T07:36:24.321+0800    done

-c 指明集合的名字 而且備份的數據庫的集合數據文件必須是BSON格式的文件

[root@localhost ~]# mongorestore -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c mumu  ./full/dbtest002/mumu.bson 
2020-01-05T07:45:53.367+0800    checking for collection data in full/dbtest002/mumu.bson
2020-01-05T07:45:53.368+0800    reading metadata for dbtest002.mumu from full/dbtest002/mumu.metadata.json
2020-01-05T07:45:53.373+0800    restoring dbtest002.mumu from full/dbtest002/mumu.bson
2020-01-05T07:45:53.436+0800    no indexes to restore
2020-01-05T07:45:53.436+0800    finished restoring dbtest002.mumu (1 document)
2020-01-05T07:45:53.436+0800    done
[root@localhost ~]# 
[root@localhost ~]# mongorestore -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c mumu  ./full/dbtest002/xiangmu.bson 
2020-01-05T07:46:35.517+0800    checking for collection data in full/dbtest002/xiangmu.bson
2020-01-05T07:46:35.519+0800    reading metadata for dbtest002.mumu from full/dbtest002/xiangmu.metadata.json
2020-01-05T07:46:35.519+0800    restoring dbtest002.mumu from full/dbtest002/xiangmu.bson
2020-01-05T07:46:35.582+0800    no indexes to restore
2020-01-05T07:46:35.582+0800    finished restoring dbtest002.mumu (2 documents)
2020-01-05T07:46:35.582+0800    done

另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

新聞名稱:mongodb之備份和恢復介紹-創新互聯
鏈接分享:http://www.2m8n56k.cn/article36/gjppg.html

成都網站建設公司_創新互聯,為您提供網站收錄網站導航服務器托管做網站動態網站定制網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設公司
主站蜘蛛池模板: 欧美亚洲国产成人不卡 | 亚洲精品国产综合一线久久 | 亚洲免费在线视频播放 | 好吊色37pao在线观看 | 中文精品视频一区二区在线观看 | 99视频精品全部在线播放 | 特级做人爱c级特级aav毛片 | 99久久免费视频在线观看 | 中国农村一级毛片 | 男女视频免费 | 97视频免费在线 | 亚洲第一区精品日韩在线播放 | 九九在线免费观看视频 | 亚洲美女在线视频 | 俄罗斯aaaa一级毛片 | 欧美在线观看视频一区 | 亚洲高清视频在线观看 | 99热久久国产精品免费观看 | 欧美一级特黄特黄毛片 | 日韩免费高清一级毛片 | 亚洲高清一区二区三区久久 | 中文字幕在线免费观看视频 | 美女被免费网站视频软件 | 日韩一区二区免费看 | 国产一区二区在线观看视频 | 一区二区三区不卡在线 | 蘑菇午夜三级 | 欧美一级毛片欧美一级无片 | 欧美日韩国产免费一区二区三区 | 日韩av线上| 美女张开腿给男生桶下面视频 | 亚洲国产成人久久综合一区 | 盗摄偷拍a在线观看 | 精品久久久久久久久久久 | 久久精品毛片 | 男人扒开腿躁女人j | theav视频在线观看 | 久草中文在线视频 | 久久精品视频免费播放 | 欧美a在线视频 | 欧美大片a一级毛片视频 |