1.サーバーMongoDBデータベース移行実績
1. 背景:
元のサーバーの有効期限が切れ、コストが高いため、新しいユーザーとしてサーバーを購入することしかできませんでした。
2. 要件:
元のクラウド MongoDB データベースを新しく購入したサーバーに移行します。
3. 注:
以前の MongoDB はパゴダの視覚的な作成を使用せず、コマンド ラインを使用していたため、視覚化ページでデータベースを表示できませんでした。そのため、backup コマンドを使用してバックアップを作成し、バックアップをローカル コンピューターにダウンロードします。
1.1 MongoDB データベースのバックアップ手順
1. MongoDB サーバーに接続します。mongo コマンドを使用して MongoDB サーバーに接続できます。たとえば、コマンド ラインで次のコマンドを入力します。
mongo --host <hostname> --port <port> -u <username> -p <password> --authenticationDatabase admin
このうち、「<hostname>」は MongoDB サーバーのホスト名または IP アドレスを指定し、「<port>」は MongoDB サーバーのポート番号を指定し、「<username>」と「<password>」はユーザー名とパスワードを指定します。 MongoDB 管理者の " --authenticationDatabase" は、MongoDB 管理者が存在するデータベースの名前を指定します。
2. バックアップするデータベースを選択します。MongoDB サーバーに接続した後、「use」コマンドを使用して、バックアップするデータベースを選択します。例えば:
use mydatabase
3. バックアップコマンドを実行します。mongodump コマンドを使用して、MongoDB データベースをバックアップします。例えば:
mongodump --out /path/to/backup/folder/
このうち、「-out」パラメータは、バックアップ ファイルを保存するディレクトリを指定します。
4. バックアップを完了します。バックアップするデータのサイズと MongoDB サーバーのパフォーマンスによっては、バックアップ プロセスに時間がかかる場合があります。バックアップが完了すると、バックアップ ファイルが保存されたディレクトリにバックアップ データを含むフォルダが表示されます。
バックアップ ファイルが保存されているディレクトリに移動し、ローカル コンピューターにダウンロードします。
1.2 データベースを新しいサーバーに復元する
1. パゴダ ビジュアライゼーションを使用して、新しいデータベースを作成します。データベース名、ユーザー名、およびパスワードを設定します。
2. ローカル コンピューターのバックアップ MongoDB データを新しいサーバーにアップロードします。
3. 端末コマンドを使用して復旧操作を実行します (最初にデータベース パスワード認証をオフにします)。
SSH ターミナルで mongorestore コマンドを使用して、バックアップ ファイルのデータを新しいデータベースに復元します。たとえば、バックアップ ファイルの名前が「mydb.bson」であるとすると、次のコマンドを使用してデータを復元できます。
mongorestore -h 127.0.0.1 -d <database_name> <path_to_backup_file>
私の例を見てみましょう:
mongorestore -h 127.0.0.1 -d <数据库名> /www/backup/database/mongodb/beifeng/mongo
その中で、「-h」パラメーターは MongoDB サーバーの IP アドレスを指定します.MongoDB サーバーがローカル マシンにインストールされている場合は、「127.0.0.1」または「localhost」を使用できます;「-d」パラメーターは、復元するデータベースの名前は、作成したデータベース名に置き換えます。「<path_to_backup_file>」は、「/home/wwwroot/default/_backup/database/mydb.bson」など、バックアップ ファイルのパスと名前を指定します。
実行効果は次のとおりです。
4. Navicat Premium を使用してリモート接続し、以下を表示します。
データの復旧が完了し、通常どおり使用できます。
1.3 まとめ
1. MongoDB データベースをバックアップする一般的な手順は次のとおりです。
- MongoDB サーバーに接続します。
- バックアップするデータベースを選択します。
- mongodump コマンドを使用して、MongoDB データベースをバックアップします。
- バックアップを完了します。
バックアップ プロセス中は、業務時間外にバックアップを実行し、バックアップ期間中は MongoDB サーバーで他の操作を行わないようにして、サーバーのパフォーマンスへの影響を回避することをお勧めします。
2. MongoDB データベースを復元する一般的な手順は次のとおりです。
- MongoDB サーバーに接続します。mongo コマンドを使用して MongoDB サーバーに接続できます。たとえば、コマンド ラインで次のコマンドを入力します。
cssCopy code
mongo --host <hostname> --port <port> -u <username> -p <password> --authenticationDatabase admin
このうち、"" は MongoDB サーバーのホスト名または IP アドレスを指定し、"" は MongoDB サーバーのポート番号を指定し、"" と "" は MongoDB 管理者のユーザー名とパスワードを指定し、"--authenticationDatabase" は指定します。 MongoDB 管理者が存在するデータベースの名前。
- 復元するデータベースを作成します。復元するデータベースが MongoDB サーバーに存在しない場合は、最初に作成する必要があります。たとえば、MongoDB サーバーに接続した後、「use」コマンドを使用して既存のデータベースを選択し、「db.createCollection()」コマンドを使用して新しいコレクションを作成します。例えば:
perlCopy codeuse mydatabase
db.createCollection("mycollection")
- 復元コマンドを実行します。mongorestore コマンドを使用して、MongoDB データベースを復元します。例えば:
bashCopy code
mongorestore --dir /path/to/backup/folder/
その中で、「-dir」パラメータは、バックアップ ファイルが配置されているディレクトリを指定します。
- 完全な回復。復元するデータのサイズと MongoDB サーバーのパフォーマンスによっては、復元プロセスに時間がかかる場合があります。復元が完了すると、復元されたデータベース内のすべてのデータを見つけることができるはずです。
MongoDB データベースを復元する場合、ターゲット データベースにデータが既に存在する場合、復元操作によってデータの競合やデータの損失が発生する可能性があることに注意してください。したがって、復元操作の前に、ターゲット データベースをバックアップし、ターゲット データベースをクリアすることをお勧めします。同時に、復旧操作の正確性を確保するために、復旧操作中に MongoDB サーバーが正常に実行され、他のユーザーが MongoDB サーバーを操作していないことを確認することをお勧めします。