mongodbとアカウントパスワードのインストールの構成

5130 ワード

MongoDBは、キー値(key=>value)のペアからなるデータ構造を持つドキュメントとしてデータを格納します.MongoDBドキュメントはJSONオブジェクトに似ています.フィールド値には、他のドキュメント、配列、およびドキュメント配列を含めることができます.
一、mongodbのインストール
mongodbフォルダの作成
[uaren@uafetblog01 ~]$ cd /usr/local/nlp/
[uaren@uafetblog01 nlp]$ mkdir mongodb
[uaren@uafetblog01 nlp]$ cd mongodb/

mongodbインストールパッケージのアップロード
解凍
[uaren@uafetblog01 mongodb]$ tar -xzvf mongodb-linux-x86_64-4.0.10.tgz
   
[uaren@uafetblog01 mongodb]$ mv mongodb-linux-x86_64-4.0.10 mongodb
[uaren@uafetblog01 mongodb]$ ll
total 200
drwxrwxr-x 2 uaren uaren  4096 Jun 24 14:03 bin
-rw-r--r-- 1 uaren uaren 30608 May 29 05:31 LICENSE-Community.txt
-rw-r--r-- 1 uaren uaren 16726 May 29 05:31 MPL-2
-rw-r--r-- 1 uaren uaren  2601 May 29 05:31 README
-rw-r--r-- 1 uaren uaren 60005 May 29 05:31 THIRD-PARTY-NOTICES
-rw-r--r-- 1 uaren uaren 81355 May 29 05:32 THIRD-PARTY-NOTICES.gotools

環境変数の設定
[uaren@uafetblog01 mongodb]$ sudo vim /etc/profile
      :
#mongodb
export PATH=/usr/local/nlp/mongodb/mongodb/bin:$PATH

          
[uaren@uafetblog01 mongodb]$ source /etc/profile

データベース・ディレクトリの作成
[uaren@uafetblog01 mongodb]$ touch mongodb.conf
[uaren@uafetblog01 mongodb]$ mkdir data
[uaren@uafetblog01 mongodb]$ mkdir logs
[uaren@uafetblog01 mongodb]$ cd logs
[uaren@uafetblog01 logs]$ touch mongodb.log

mongodbプロファイルの変更
[uaren@uafetblog01 mongodb]$ vim mongodb.conf
#  
port=20881
#          
dbpath= /usr/local/nlp/mongodb/mongodb/data
#        
logpath= /usr/local/nlp/mongodb/mongodb/logs/mongodb.log
#          
logappend=true
#          ,       
fork=true
#       
maxConns=100
#     
noauth=true
#             (  journal            
journal=true
#    ,   wiredtiger             checkpoint ,       journal     。
#     mmapv1、wiretiger、mongorocks
storageEngine=wiredTiger
#         ,   win10        MongoDB
bind_ip = 0.0.0.0


ファイルに読み取り/書き込み権限がない場合はフォルダ権限を設定します
$ chmod 777 data
$ chmod 777 logs

mongodbの起動
最新バージョンmongodbは–configを-fに変更しました
[uaren@uafetblog01 mongodb]$ cd bin
    
[uaren@uafetblog01 bin]$ mongod -f ../mongodb.conf
    
[uaren@uafetblog01 bin]$ mongod --config ../mongodb.conf

二、アカウントとパスワードの設定
MongoDBユーザータイプ
MongoDBのユーザーは、adminユーザーと、特定のデータベースユーザーadminユーザーが最も高い権限を持っているのに対し、特定のデータベースユーザーは特定のデータベースにしかアクセスできない2つに分けられます.MongoDBのadminライブラリにユーザーがいない場合、つまりMongoDB全体にMongoDBユーザーが1人もいない場合、–auth権限要件が開いていても、ユーザーはlocalhostインタフェースを介してMongoDBにアクセスしてユーザー設定を行うことができます.そうしないと、MongoDB全体にアクセスできません.このユーザーの作成が完了すると、その後のユーザーのログインと操作には権限が必要で、直接ログインして使用できるものではありません.
MongoDBには、adminユーザーであっても、権限はadminデータベースの下で行わなければならず、他のデータベースの下では行われないという奇妙な設定があります.ライセンス後adminユーザーは、任意のデータベースの下で任意の操作を行うことができます.もちろん、データベース・レベルのユーザーは、自分のデータベースで権限を付与した後、他のデータベースで操作することはできません.
データベースの新規作成とユーザー名のパスワードの設定
公式サイトの操作https://docs.mongodb.com/v3.0/tutorial/manage-users-and-roles/
  • データベースを構築する前にadminアカウントを作成し、adminアカウントで他のユーザー
  • を作成します.
    use admin
    db.createUser(
      {
        user: "root",
        pwd: "uaren",
        roles: [
           { role: "userAdminAnyDatabase", db: "admin" }
        ]
      }
    )
    
  • ライセンス
  • db.auth("root", "uaren" )
    
  • プロファイルmongodbを変更します.conf
  •   mongodb      mongodb.conf 
      
    auth=true
    
    [uaren@uafetblog01 mongodb] vim mongodb.conf 
    
    #  
    port=20881
    #          
    dbpath= /usr/local/nlp/mongodb/mongodb/data
    #        
    logpath= /usr/local/nlp/mongodb/mongodb/logs/mongodb.log
    #          
    logappend=true
    #          ,       
    fork=true
    #       
    maxConns=100
    #     
    #noauth=true
    #      
    auth=true
    #             (  journal            
    journal=true
    #    ,   wiredtiger             checkpoint ,       journal     。
    #     mmapv1、wiretiger、mongorocks
    storageEngine=wiredTiger
    #         ,   win10        MongoDB
    bind_ip = 0.0.0.0
    
    
  • 保存再起動
  • [uaren@uafetblog01 mongodb]$ pkill -9 mongodb
    [uaren@uafetblog01 mongodb]$ ./bin/mongod -f mongodb.conf
    
    

    アカウントとパスワードを再接続すればいいです
    ケースuse作成する新しいデータベース名
    use ccc
    db.createUser({user:"cc",pwd:"cc777",roles:[{role:"dbOwner",db:"ccc"}]})
    

    説明:
    db.createUser({user:"           ",pwd:"          ",roles:[{role:"dbOwner",db:"          "}]})
    

    三、Mongodbはどのようにwebコンソールに入りますか
    ブラウザにmongodbのマシンIPとポート番号を入力します.http://127.0.0.1:20881/
    ページが表示されます.
    It looks like you are trying to access MongoDB over HTTP on the native driver port.
    

    エラーの原因:
    -httpinterfaceパラメータでmongodbを起動せず、mongodbポート番号+1000でアクセスする必要があります.
    解決策:–httpinterfaceパラメータでmongodbを起動します.
    mongod --dbpath=/data/server/mongodb/data --fork --logpath=/data/server/mongodb/logs --auth --httpinterface
    
        : 
    dbpath        
    ogpath        
    port     (  27017) 
    fork        
    auth             
    httpinterface   web