はじめにMongoDBの
簡単な紹介
- MongoDBのは、分散ファイル・ストレージのNoSQLデータベースに基づいています
- C ++言語、安定した動作と高いパフォーマンスによって書か
- 高性能データ・ストレージ・ソリューションのためのスケーラブルなWebアプリケーションを提供するように設計
- ビューの公式サイト
MongoDBの特徴
- フリーモード:あなたは、同じデータベース内の文書の異なる構造を保存することができます
- セット指向のストレージ:ストレージJSON形式の文書に適した形式
- 完全なインデックスのサポート:すべてのプロパティのインデックス
- レプリケーションと高可用性:サーバー間でのサポート、データ・レプリケーション、メインのサポート - 各コピーモードの間、サーバーから。主な目的は、冗長なレプリケーションと自動フェイルオーバーを提供することです
- 自動シート:サポートクラウドレベルのスケーラビリティ:サポートデータベースクラスタの自動断片化のレベルは、動的に追加のマシンを追加することができます
- 豊富なクエリは:、マークの形でJSONを使用してクエリ命令は、クエリが簡単にオブジェクトを埋め込むことができる豊富なクエリ式と文書の配列をサポート
- 高速場所更新:クエリオプティマイザはクエリ式を解析して、効率的なクエリプランを生成します
- 従来のストレージの効率的な方法:(な写真や絵など)のバイナリデータとラージオブジェクトのサポート
パッケージパッケージ説明
MongoDBの公式のソースには、以下の依存関係が含まれています:
MongoDBの-ORG:MongoDBのメタデータパケット、次の4つのコンポーネントパッケージがインストール時に自動的にインストール
1.mongodb-ORG-サーバー:MongoDBのデーモンと関連する構成と初期化スクリプトを備えます。
2.mongodb-ORG-mongos:デーモンmongosが含まれています。
3.mongodb-ORG-シェル:付属のmongoシェル。
4.mongodb-ORG-ツール:ツールは、MongoDBのを含める:mongoimport、bsondump、mongodump、mongoexport 、mongofiles、mongooplog、mongoperf、mongorestore、mongostat、およびmongotopを。
インストール
1つのインストール
https://www.mongodb.com/download-center/community(公式)
https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el7-4.2/RPMS/(清華)
https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/4.2/x86_64/RPMS/(アリ)
:HTTPS yumをインストール-y // mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/4.2/x86_64/RPMS/上記のファイル名
インストールしたら、それはサービスです。サービス名mongod.service
mongod.serviceを有効systemctl
systemctlスタートmongod.service
MongoDBのを入力するようユーザーを追加します
道に
モンゴ MongoのIP:ポート Mongoの -u -pパスワードアカウント
Mongoの-host 192.168.31.102 -port 27017 -uルート-p wdq123 -authenticationDatabase管理
入力した後、ユーザーを作成します。
db.createUser(
{
ユーザ: "ABC"、
PWD: "AAA @ BBB"、
ロール:[{役割: "ルート"、DB: "管理者"}]
}
)
ユーザーが作成されているかどうかを決定します
db.auth("USERADMIN"、"adminpasswordの")#1の復帰であれば、それは成功を意味します。
出口#出口システム
役割での役割は小さくてもよいです
2認証を有効にします
#外部ネットワークアクセス(デフォルトは127である0.0。1 、唯一のネットワークアクセスを含みます) ネット: ポート:27017 bindIp:0.0。0 。 #認証 セキュリティ: 承認:有効
設定を変更するMongoDB(YUMファイル)
MongoDBのディレクトリを探します
whereisはのmongod
設定ファイルを変更します。
vimの /etc/mongod.conf
#mongod.conf #のためにすべてのオプションのドキュメントを参照してください。 #のhttp:// docs.mongodb.org/manual/reference/configuration-options/ #どこのログデータを書き込みます。 システムログ: 先:ファイル logAppend: true path: /var/log/mongodb/mongod.log # Where and how to store data. storage: dbPath: /var/lib/mongo journal: enabled: true # engine: # wiredTiger: # how the process runs processManagement: fork: true # fork and run in background pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile timeZoneInfo: /usr/share/zoneinfo # network interfaces net: port: 27017 bindIp: 192.168.31.102 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting. --修改为ip
security: authorization: enabled
--这个开启需要密码登录
#operationProfiling: #replication: #sharding: ## Enterprise-Only Options #auditLog: #snmp:
# mongodb.conf # 数据库文件位置 dbpath=/var/lib/mongodb #日志文件的路径 logpath=/var/log/mongodb/mongodb.log # 是否追加方式写入日志,默认True logappend=true # 设置绑定ip bind_ip = 127.0.0.1 # 设置端口 port = 27017 # 是否以守护进程方式运行,默认false fork = true # 启用日志文件,默认启用 journal=true # 启用定期记录CPU利用率和 I/O 等待,默认false #cpu = true # 是否以安全认证方式运行,默认是不认证的非安全方式 #noauth = true #auth = true # 详细记录输出,默认false #verbose = true #用于开发驱动程序时验证客户端请求 #objcheck = true # # 启用数据库配额管理,默认false #quota = true # 设置oplog日志记录等级,默认0 # 0=off (default) # 1=W # 2=R # 3=both # 7=W+some reads #oplog = 0 # 是否打开动态调试项,默认false #nocursors = true # 忽略查询提示,默认false #nohints = true # 禁用http界面,默认为localhost:28017 #nohttpinterface = true # 关闭服务器端脚本,这将极大的限制功能,默认false #noscripting = true # 关闭扫描表,任何查询将会是扫描失败 #notablescan = true # 关闭数据文件预分配 #noprealloc = true # 为新数据库指定.ns文件的大小,单位:MB # nssize = <size> # 用于Mongo监控服务器的Accout token。 #mms-token = <token> # Mongo监控服务器的服务器名称。 #mms-name = <server-name> # Mongo监控服务器的Ping间隔时间,即心跳 #mms-interval = <seconds> # Replication Options # 设置主从复制参数 #slave = true # 设置从节点 #source = master.example.com # 指定从节点的主节点 # Slave only: 指定要复制的单个数据库 #only = master.example.com # or #master = true # 设置主节点 #source = slave.example.com # 设置副本集的名字,所有的实例指定相同的名字属于一个副本集 replSet = name #pairwith = <server:port> # 仲裁服务器地址 #arbiter = <server:port> # 默认为false,用于从实例设置。是否自动重新同步 #autoresync = true # 指定的复制操作日志(OPLOG)的最大大小 #oplogSize = <MB> # 限制复制操作的内存使用 #opIdMem = <bytes> # 设置ssl认证 # Enable SSL on normal ports #sslOnNormalPorts = true # SSL Key file and password #sslPEMKeyFile = /etc/ssl/mongodb.pem #sslPEMKeyPassword = pass
# 普通配置文件 # mongodb.conf dbpath=/var/lib/mongodb logpath=/var/log/mongodb/mongodb.log pidfilepath=/var/log/mongodb/master.pid directoryperdb=true logappend=true bind_ip=127.0.0.1 port=27017 fork=true # 集群配置文件 dbpath=/var/lib/mongodb logpath=/var/log/mongodb/mongodb.log pidfilepath=/var/log/mongodb/master.pid directoryperdb=true logappend=true replSet=name bind_ip=127.0.0.1 port=27017 fork=true noprealloc=true
重启服务
用户权限
每个数据库都要有独立的密码...
use yourdatabase
db.createUser({ user: "youruser", pwd: "yourpassword", roles: [{ role: "dbOwner", db: "yourdatabase" }] })
新建读写账户
use yourdatabase
db.createUser({ user: "youruser2", pwd: "yourpassword2", roles: [{ role: "readWrite", db: "yourdatabase" }] })
服务器指令
mongo -h
查看帮助文档