公司買了一臺服務(wù)器,要做數(shù)據(jù)遷移。大概有20G的樣子。原數(shù)據(jù)庫存放服務(wù)器A 目標數(shù)據(jù)庫存放服務(wù)器B
數(shù)據(jù)備份
mongodump -h <hostname><:port> -d dbname -u username -p password -o dbdirectory
-h:
MongDB所在服務(wù)器地址,例如:127.0.0.1,當然也可以指定端口號:127.0.0.1:27017。
-d:
需要備份的數(shù)據(jù)庫實例,例如:test
-o:
備份的數(shù)據(jù)存放位置,例如:c:\data\dump,當然該目錄需要提前建立,在備份完成后,系統(tǒng)自動在dump目錄下建立一個test目錄,這個目錄里面存放該數(shù)據(jù)庫實例的備份數(shù)據(jù)。
-u 連接遠程數(shù)據(jù)庫的賬戶,若數(shù)據(jù)庫設(shè)置了認證,需指定賬戶。
-p 連接遠程數(shù)據(jù)庫賬戶對應(yīng)的密碼
因為是內(nèi)網(wǎng)遷移,所以這里可以在目標數(shù)據(jù)庫存放服務(wù)器B上 進行原數(shù)據(jù)庫的備份,要直接寫原數(shù)據(jù)庫所在的ip port。
mongodump -h A:27017 -u username -p password -d test -o /root/data
這樣備份完之后,會在/root/data 下生成一個test的文件夾
數(shù)據(jù)恢復(fù)
mongorestore -h <hostname><:port> -d dbname <path>
--host <:port>, -h <:port>:
MongoDB所在服務(wù)器地址,默認為: localhost:27017
--db , -d :
需要恢復(fù)的數(shù)據(jù)庫實例,例如:test,當然這個名稱也可以和備份時候的不一樣,比如test2
--drop:
恢復(fù)的時候,先刪除當前數(shù)據(jù),然后恢復(fù)備份的數(shù)據(jù)。就是說,恢復(fù)后,備份后添加修改的數(shù)據(jù)都會被刪除,慎用哦!
<path>:
mongorestore 最后的一個參數(shù),設(shè)置備份數(shù)據(jù)所在位置,例如:c:\data\dump\test。
你不能同時指定 <path> 和 --dir 選項,--dir也可以設(shè)置備份目錄。
現(xiàn)在已經(jīng)在B服務(wù)器上了,所以-h可以略去,使用默認。
mongorestore -d test -u username -p password /root/data/test
這里的path不能寫/root/data,看到有些資料上會直接這么寫,嘗試之后是不行的,必須要加上數(shù)據(jù)庫的名稱。到這里數(shù)據(jù)就遷移好了。
希望能幫到你們:)