Heim  >  Artikel  >  Datenbank  >  So erstellen Sie schnell Ihre eigene Datenbank in Mongodb

So erstellen Sie schnell Ihre eigene Datenbank in Mongodb

青灯夜游
青灯夜游Original
2018-09-21 17:03:472275Durchsuche

In diesem Kapitel erfahren Sie, wie Sie mit mongodb schnell Ihre eigene Datenbank erstellen. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

mongoddb-Installation

  • Lokal installieren

direkt über den Beamten Website Laden Sie das komprimierte Paket herunter, das der Maschine entsprichtmongodb

  • Auf dem Cloud-Server installieren (Centos-System)

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

So erstellen Sie schnell Ihre eigene Datenbank in Mongodb

Bitte laden Sie die entsprechende Version entsprechend Ihrem System herunter~

Umgebungskonfiguration und starten Sie den Server

Erstellen im Dateiverzeichnis Das allgemeine Verzeichnis des Ordners zum Speichern von Daten ist /usr/local/mongodb/data/db/ Führen Sie den Befehl aus, um mongodb zu starten

./bin/mongod --dbpath=/usr/local/mongodb/data/db/ --rest

Hier sind einige Parameter, die Mongod Ihnen zur Verfügung stellen kann Mit der Befehlszeilenunterstützung von mongodb können Sie bei Bedarf den Datenpfad in /etc/profile eingeben, der dem von Ihnen erstellten Datenverzeichnis entspricht. --rest ist eine grafische Unterstützung
Der Standardpfad von mongodb ist //localhost:27017. Nach erfolgreichem Vorgang wird beim Zugriff auf diese Adresse eine Erfolgsmeldung angezeigt und durch Hinzufügen des Restparameters kann auf //localhost:28017

. /bin/mongo kann die Shell öffnen

Allgemeine Befehle:

#查询所有数据库    show dbs;
#删除当前使用数据库   db.dropDatabase(); 
#克隆主机数据   db.cloneDatabase(“127.0.0.1”); 
#修复当前数据库 db.repairDatabase(); 
#查看当前使用的数据库  db.getName(); 
#显示当前db状态  db.stats(); 
#查看当前db的链接机器地址  db.version();

Bereitstellen der Mongodb-Umgebung auf dem Cloud-Server

Mittlerweile ist die Cloud sehr beliebt. Viele Menschen haben sich für die Verwendung von Cloud-Servern zur Bereitstellung ihrer Projekte entschieden. Hier finden Sie eine Einführung in die Mongodb-Konfiguration in der Cloud.

./bin/mongod --fork --dbpath=/usr/local/mongodb/data/db/ --logpath=/usr/local/mongodb/data/log/error.log -logappend --rest

Bei der Bereitstellung einer Datenbank auf einem Cloud-Server muss sie im Hintergrund ausgeführt werden. Als ich das Centos Forever-Plug-in zum ersten Mal verwendete, stellte ich fest, dass die Datenbank nicht im Hintergrund ausgeführt werden konnte. Nachdem ich die Informationen überprüft hatte, stellte ich fest, dass es einen offiziellen Befehl --fork zum Starten des Hintergrunddienstes gibt --logpath --logappend-Parameter zum Hinzufügen eines Protokollprotokolls zum Hintergrunddienst. Der restliche Effekt ist der gleiche wie oben.

Machen Sie die Datenbank intuitiver

Sind die dichten Daten nicht hässlich? Fühlen Sie sich schlecht? Zu diesem Zeitpunkt benötigen wir ein Plug-in, um die Datenbank zu verschönern.

Es gibt viele davon online, z. B. mongovue und adminmongo. Sie können sie auf Github suchen oder überprüfen.

Das Folgende ist die Datenbankverschlüsselung, die ich aus der Erfahrung gelernt und den Verschlüsselungsprozess nach einem Online-Angriff aktualisiert habe.

Superadministrator hinzufügen

Führen Sie zunächst Ihre Datenbank aus und führen Sie nach Erfolg den Shell-Vorgang aus.

> 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 bedeutet Super-Berechtigungen und erstellt somit ein Konto mit Super-Berechtigungen. Sie können Benutzer mit dem folgenden Befehl anzeigen.

[Bild hochladen_088895.png .]

db.getUsers()

MongoDB-Datenbankrolle

Rolle bezieht sich auf die Rolle, die Verwaltet und steuert die Datenbankberechtigungen. Der erste Benutzer ist vorzugsweise der Root-Benutzer, der jeden Vorgang ausführen kann.

Am besten erstellen Sie einen Benutzer mit Root-Berechtigungen für die Initialisierung Für den Vorgang sind Berechtigungen erforderlich. Sie dürfen den Hintergrundlaufmodus nicht direkt mit der Authentifizierung starten, da Sie sonst nicht die Berechtigung haben, die Datenbank zu schließen.

  • Lesen: ermöglicht dem Benutzer das Lesen der angegebenen Datenbank

  • readWrite: ermöglicht dem Benutzer das Lesen und Schreiben der angegebenen Datenbank

  • dbAdmin: Ermöglicht Benutzern die Ausführung von Verwaltungsfunktionen in der angegebenen Datenbank, z. B. Indexerstellung, Löschung, Anzeigen von Statistiken oder Zugriff auf system.profile

  • userAdmin: Ermöglicht Wenn Benutzer in die system.users-Sammlung schreiben, können Sie Benutzer in der angegebenen Datenbank erstellen, löschen und verwalten.

  • clusterAdmin: Nur in der Admin-Datenbank verfügbar, wodurch der Benutzer Administratorrechte für alle erhält Sharding- und Replikatsatz-bezogene Funktionen.

  • readAnyDatabase: nur in der Admin-Datenbank verfügbar, gibt dem Benutzer Leseberechtigungen für alle Datenbanken

  • readWriteAnyDatabase: nur in der Admin-Datenbank verfügbar, Erteilen des Benutzers Lese- und Schreibberechtigungen für alle Datenbanken des Benutzers

  • userAdminAnyDatabase: nur in der Admin-Datenbank verfügbar, erteilen Sie dem Benutzer userAdmin-Berechtigungen für alle Datenbanken

  • dbAdminAnyDatabase: nur in der Admin-Datenbank verfügbar, wodurch der Benutzer dbAdmin-Berechtigungen für alle Datenbanken erhält.

  • root: nur in der Admin-Datenbank verfügbar. Superkonto, Superberechtigungen

Authentifizierungsmodus aktivieren

Die Verschlüsselung kann erst gestartet werden, nachdem der Superadministrator erstellt wurde. andernfalls haben auch Sie selbst nicht das Recht, die Datenbank zu betreiben.

 //后台模式需要在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,简单的加密就完成了。

So erstellen Sie schnell Ihre eigene Datenbank in Mongodb

Verschlüsselung erfolgreich, für den Betrieb der Datenbank ist eine Authentifizierung erforderlich

链接加密数据库

数据库加密后我们的服务端代码也要相应变动。

xxx.db('mongodb://your name: your pwd@localhost:27017/db?authSource=admin');

xxx表示你用的插件 比如 mongoose 、mongoskin之类的。

到此为止,你的数据库就加密完成了,当你的项目变大,你也许还需要创建许多用户,或者升级用户权限,这些官方都有相关的API去操作。

Das obige ist der detaillierte Inhalt vonSo erstellen Sie schnell Ihre eigene Datenbank in Mongodb. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn