遷移mongodb數據

[TOC]

遷移mongodb數據

1. 新機器安裝mongodb

1.1 下載和安裝

方式一,直接下載包,解壓

缺點,更改相關配置,找不到配置文件,只能在命令行中帶入參數

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz    # 下載
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz                                   # 解壓

mv  mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb                         # 將解壓包拷貝到指定目錄


方式二,yum安裝

參考官方文檔:

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/

創建/etc/yum.repos.d/mongodb-org-3.4.repo 文件

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

最后執行:

sudo yum install -y mongodb-org

1.2 查看/更改數據目錄和日志目錄

默認為 /data/db

通過第一步的方法二安裝的數據庫配置文件為:/etc/mongod.conf

systemLog:
  destination: file    
  logAppend: true  
  path: /var/log/mongodb/mongod.log  #日志路徑
  
# Where and how to store data.
storage:
  dbPath: /var/lib/mongo  #數據路徑

更改上述兩個變量即可修改數據目錄和日志目錄

Mongodb后臺運行

mongod --fork --logpath=/data/dblog/mongodb2.log --logappend

1.3 啟動方式

之前一直有疑惑,直接使用官網指南啟動,一直不會按照mongodb的配置文件去啟動,會報沒有數據保存路徑的錯誤。

sudo service mongod restart

后來使用如下命令,并在后面帶各種參數,沒有問題,但是沒根據配置文件啟動仍不滿意。

mongod  --dbPath=...

后來查了一下,最終這樣啟動才是沒問題的:

mongod --config /etc/mongod.conf

1.4 一個注意點

在為mongodb配置遠程連接時,配置文件的bindIp是指綁定到本機的哪個IP,而不是只可以允許哪個IP來連接

同時注意,如果像我一樣使用的是云服務,想要綁定到外網IP,會報錯誤48。經查,需要修改為內網IP。原因大概是IP NAT ,外網映射至內網

net:
  port: 27017
  bindIp: 127.0.0.1,172.19.239.111

2. 數據導出

使用的是mongodump導出

3. 數據導入

mongorestore -d 你的數據庫名稱 要導入的數據文件夾
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容