I.はじめに
諺に通り、千マイルの旅は、単一のステップで始まり、MongoDBの技術を学ぶために始める、ブロガーはMongoDBのを説明するための原則から起動しませんでしたが、実際のコードから始めて、ブロガーは、コード内の原則のMongoDBの知識を説明し、問題が発生しますレコードは、後のMongoDBのシーンのためにそれを拡大していきます、があります。誰もが親切シーンのあなたは、MongoDBはを使用して、オープンドライに来ることができるか知ってみましょう。
二.MongoDBリモートサービス接続
このモジュールは、MongoDBは、マイクロサービスアーキテクチャの使用の使用を検討するように設計されています。さあ、来る、ラインとアップ。
まず、接続MongoDBのサービスを確保します。問題がどこにあるか確認するためにステップ調査でステップどのようなものを、私たちはそれにアクセスすることはできませんセットアップパスワードがないとき、私は、LinuxのMongoDBサービスをインストールしたので、私は、ときにエラー接続するクライアントツールを使用して、ここで与えられていますか?
- 調整しない場合、最初にインストールしたLinuxのシステムのMongoDBサービスは、デフォルトポート27017で確認するか、27017に内蔵されたコマンドの一部は、サービスを再起動するため、デフォルトでは、より良いです。
- ビューポート占有
[root@instance-n4r06itt bin]# netstat -anp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 28535/nginx: master
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 30189/./mongod
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 492/rpcbind
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1129/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1091/master
tcp 0 0 192.168.16.4:47468 100.64.253.42:80 ESTABLISHED 1182/./bcm-agent
tcp 0 0 192.168.16.4:41104 100.64.253.36:1813 ESTABLISHED 1174/hosteye
tcp 0 0 192.168.16.4:60742 100.64.253.36:1814 ESTABLISHED 1174/hosteye
tcp 0 0 127.0.0.1:34328 127.0.0.1:781 ESTABLISHED 1243/./bcm-si
ことがわかっtcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 30189/./mongod
ローカル接続のみ、外部からアクセスできない、私たちは、外部からのアクセスを開く必要があります。
我々はMongoDBの外部からのアクセスのようになったので、次のように、変更設定は次のとおりです。
storage:
dbPath: "/usr/src/mongodb-4.0.14/data"
systemLog:
destination: file
path: "/usr/src/mongodb-4.0.14/logs/mongodb.log"
net:
port: 27017
bindIp: 0.0.0.0
processManagement:
fork: false
以上の変更、MongoDBは再起動してください。成功!!!
III。展開
- 管理者アカウントを作成し、テスト・ライブラリー
# 切换到管理员
> use admin
switched to db admin
# 创建超级用户
> db.createUser({user:'root',pwd:'mongodb',roles:['root']});
Successfully added user: { "user" : "root", "roles" : [ "root" ] }
> db.auth("root","mongodb");
1
# 查询用户
> db.system.users.find();
{ "_id" : "admin.root", "userId" : UUID("73384c6a-b525-4f1a-af1c-6e85cd097d08"), "user" : "root", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "xYCfzhj+A+ICD90qoe7LZQ==", "storedKey" : "PKXd1bkC87E7gW7PO89nZOpl93k=", "serverKey" : "hMkc4P1e4lGjGL6m7vcCVAF4irA=" }, "SCRAM-SHA-256" : { "iterationCount" : 15000, "salt" : "6CTM9unCb3yhzg6NHvd92DwUzajKH3jhCVmPyQ==", "storedKey" : "lBYIj+EFdf8PL1RwSiftMkX/bDhWTe+OfVGPAHqHb/g=", "serverKey" : "QAmf4nf0l+OZG6Sr/gcWjiDg4KB2xXo62tJHHFlYs9s=" } }, "roles" : [ { "role" : "root", "db" : "admin" } ] }
# 切换到测试账户
> use test
switched to db test
# 创建test库
> db.createUser({user:'test',pwd:'mongodb',roles:[{role:'dbOwner', db:'test'}]});
Successfully added user: {
"user" : "test",
"roles" : [
{
"role" : "dbOwner",
"db" : "test"
}
]
}
- 役割使用可能なオプションは以下のとおりです。
- データベースユーザの役割:読み取り、READWRITE、データベース管理の役割:DBADMIN、のdbowner、USERADMIN。
- クラスタ管理の役割:clusterAdmin、ClusterManagerの、clusterMonitor、hostManager。
- バックアップとリカバリの役割:バックアップ、復元、
- すべてのデータベース・ロール:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
- スーパーユーザーの役割:ルート
これまでのところ、リモート接続サービスMongoDBは、ここでご紹介します!!!