MySQL資料遷移到MongoDB資料庫中
- 前言
- 一、資料備份
- 二、資料恢復
前言
本環境是基於 Centos 7.8 系統構建mongodb-enterprise-4.2.8學習環境
具體構建,請參考 mongodb-enterprise-4.2.8 環境構建
一、資料備份
MongoDB資料備份
- 邏輯備份mongodump
- 可以用 mongodump 來做 MongoDB 的庫或表級別的備份,下面舉例說明 備份 my_mongodb 資料庫.
實戰案例
[root@localhost ~]# mongodump -d my_mongodb
2019-10-28T10:41:59.147+0800 writing my_mongodb.user to
2019-10-28T10:41:59.148+0800 done dumping my_mongodb.user (5 documents)
此時會在當前目錄下建立一個 dump 目錄,用於存放備份出來的檔案
[root@localhost ~]# ll dump/my_mongodb/
總用量 8
-rw-r--r-- 1 root root 280 10月 28 10:41 user.bson
-rw-r--r-- 1 root root 87 10月 28 10:41 user.metadata.json
指定備份存放目錄
[root@localhost ~]# mongodump -d my_mongodb -o my_mongodb_dump
2019-10-28T10:43:35.826+0800 writing my_mongodb.user to
2019-10-28T10:43:35.827+0800 done dumping my_mongodb.user (5 documents)
其他引數:
-h: MongoDB 所在伺服器地址,例如,127.0.0.1。 當然也可以指定埠號:127.0.0.1:27017
--port:埠號。
-d: 需要備份的資料庫例項,例如, test 。
-c: 需要備份的集合 。
-o: 備份資料的存放位置 。
-u: 使用者名稱 。
-P: 密碼。
--gzip: 壓縮 。
--oplog: point in time 恢復用,只支援全庫備份 。
--authenticationDatabase: 認證庫 。
--dumpDbUsersAndRoles
dump 使用者和角色 ,只有在單庫備份時才需要這麼做。
--archive=dbname.gz: 3.2 版本新增,不能和-o同時使用 。
歸檔備份為 l 個檔案,但不能和-o 同時使用。
全庫備份
mongodump -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin
-o /home/mongod/backup/full
備份test庫
mongodump -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin
-d test -o /home/mongod/backup/
備份test庫下的vast集合
mongodump -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin
-d test -c vast -o /home/mongod/backup/
壓縮備份庫
mongodump -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin
-d test -o /home/mongod/backup/ --gzip
壓縮備份單表
mongodump -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin
-d test -c vast -o /home/mongod/backup/ --gzip
二、資料恢復
- mongorestore與mongoimport引數類似
實戰案例
全庫備份中恢復單庫(基於之前的全庫備份)
mongorestore -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase
admin -d test --drop /home/mongod/backup/full/test/
恢復test庫
mongorestore -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase
admin -d test /home/mongod/backup/test/
恢復test庫下的vast集合
mongorestore -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase
admin -d test -c vast /home/mongod/backup/test/vast.bson
–drop引數實踐恢復
# 恢復單庫
mongorestore -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase
admin -d test --drop /home/mongod/backup/test/
# 恢復單表
mongorestore -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase
admin -d test -c vast --drop /home/mongod/backup/test/vast.bson