mongodbデータの移行

2131 ワード

[TOC]
mongodbデータの移行
1.新しい機器にmongodbを取り付ける
1.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
最初のステップの方法2でインストールされたデータベースプロファイルは、/etc/mongodeです.conf
systemLog:
  destination: file    
  logAppend: true  
  path: /var/log/mongodb/mongod.log  #    
  
# Where and how to store data.
storage:
  dbPath: /var/lib/mongo  #    

上記の2つの変数を変更すると、データ・ディレクトリとログ・ディレクトリが変更されます.
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