ホームページ >データベース >mysql チュートリアル >mongodb で独自のデータベースをすばやく構築する方法
この章では、mongodb を使用して独自のデータベースをすばやく構築する方法を紹介します。困っている友人は参考にしていただければ幸いです。
mongoddb のインストール
ローカルにインストール
公式経由で直接インストールWeb サイトからマシンに対応する圧縮パッケージをダウンロードします。mongodb
クラウド サーバー (centos システム) にインストールします
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.4.9.tgztar zxvf mongodb-linux-x86_64-3.2.6.tgz mv mongodb-linux-x86_64-3.2.6.tgz mongodb cd mongodb
お使いのシステムに応じて、対応するバージョンをダウンロードしてください~
環境設定とサーバーの起動
で作成しますファイル ディレクトリ データが保存されるフォルダーの一般的なディレクトリは /usr/local/mongodb/data/db/ です。mongodb
./bin/mongod --dbpath=/usr/local/mongodb/data/db/ --rest
を開始するコマンドを実行します。ここでは、Mongod が提供するいくつかのパラメーターを紹介します。必要に応じて、/etc/profile を編集して、作成したデータ ディレクトリに対応するデータ パスを指定します。 --rest はグラフィカル サポートです。
mongodb のデフォルト パスは //localhost:27017 です。操作が成功した後、このアドレスにアクセスすると成功メッセージが表示され、rest パラメータを追加すると //localhost:28017 にアクセスできます。
一般的なコマンド:
#查询所有数据库 show dbs; #删除当前使用数据库 db.dropDatabase(); #克隆主机数据 db.cloneDatabase(“127.0.0.1”); #修复当前数据库 db.repairDatabase(); #查看当前使用的数据库 db.getName(); #显示当前db状态 db.stats(); #查看当前db的链接机器地址 db.version();
クラウド サーバーに mongodb 環境をデプロイします。 #現在、クラウドは非常に人気があり、多くの人がプロジェクトをデプロイするためにクラウドサーバーを使用することを選択しています。ここでは、クラウドでの mongodb 構成について説明します。 ./bin/mongod --fork --dbpath=/usr/local/mongodb/data/db/ --logpath=/usr/local/mongodb/data/log/error.log -logappend --rest
データベースをクラウド サーバーにデプロイする場合は、バックグラウンドで実行する必要があります。centos Forever プラグインを初めて使用したとき、データベースをバックグラウンドで実行できないことがわかりました。情報を確認したところ、バックグラウンド サービスを開始するための公式コマンド - logpath --logappend パラメーターがあり、バックグラウンド サービスにログ ログを追加することがわかりました。残りの効果は上記と同じです。
データベースをより直感的にする
高密度のデータは見苦しくありませんか?気分が悪いですか?この時点でデータベースを美しくするためのプラグインが必要です。インターネット上には mongovue や adminmongo などのプラグインがたくさんあります。Github で検索したり確認したりできます。
以下は、オンラインで攻撃を受けた経験から学び、暗号化プロセスを更新したものです。
スーパー管理者の追加
まず、データベースを実行し、成功したらシェル操作を実行します。 > use admin
> db.createUser(
{
user: "your name",
pwd: "your pwd",
roles: [ { role: "root", db: "admin" } ]
}
)
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
root はスーパー権限を意味するため、スーパー権限を持つアカウントが作成されます。次のコマンドでユーザーを表示できます。
db.getUsers()MongoDB データベース ロール
##role は、ロールを指し、管理およびデータベースの権限を制御します。最初のユーザーは任意の操作を実行できる root ユーザーであることが望ましいです。認証モードがオンになっている場合は、どの操作にも root 権限が必要です。実行するための権限。認証を使用してバックグラウンド実行モードを直接開始しないでください。そうしないと、データベースを閉じる権限がなくなります。
Read: 指定されたデータベースの読み取りをユーザーに許可します
認証モードの開始
暗号化はスーパー管理者の作成後にのみ開始できます。そうしないと、あなた自身でさえデータベースを操作する権利を失います。 //后台模式需要在shell中关闭之前的普通模式数据库,输入以下命令
> use admin
> db.shutdownServer()
//终端 启动加密数据库 --auth
$ ./bin/mongod --fork --dbpath=/root/mongodb/db/ --logpath=/root/mongodb/log/error.log -logappend --auth
//通过命令运行数据库 ,在你的运行命令加上后缀 --auth,这样就启动了加密数据库 ,再次执行数据库操作
> show dbs
2017-09-23T14:09:58.922+0800 E QUERY [thread1] Error: listDatabases failed:{
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
"code" : 13,
"codeName" : "Unauthorized"
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
Mongo.prototype.getDBs@src/mongo/shell/mongo.js:62:1
shellHelper.show@src/mongo/shell/utils.js:769:19
shellHelper@src/mongo/shell/utils.js:659:15
@(shellhelp2):1:1
// 发现报错,需要认证信息
> db.auth('your name','your pwd')
成功返回1 失败返回0 输入之前创建的超级账号,OK,简单的加密就完成了。
链接加密数据库
数据库加密后我们的服务端代码也要相应变动。
xxx.db('mongodb://your name: your pwd@localhost:27017/db?authSource=admin');
xxx表示你用的插件 比如 mongoose 、mongoskin之类的。
到此为止,你的数据库就加密完成了,当你的项目变大,你也许还需要创建许多用户,或者升级用户权限,这些官方都有相关的API去操作。
以上がmongodb で独自のデータベースをすばやく構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。