[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 你的數據庫名稱 要導入的數據文件夾