Heim >Datenbank >MySQL-Tutorial >Mainstream-NoSQL-Datenbank – detaillierte Erläuterung der MongoDB-Berechtigungseinstellungen
Dieser Artikel richtet sich an:
Personen, die mit den MongoDB-Berechtigungseinstellungen nicht vertraut sind
MongoDB-Entwickler
Andere Entwickler, die sich für MongoDB interessieren
Personen, die sich für Technologie interessieren
MongoDB ist ein verteilter Dateispeicher, der auf der Datenbank basiert ist derzeit die Mainstream-NoSQL-Datenbank und wurde auf vielen Hochleistungs-Großsystemen angewendet. Wenn Sie noch nie mit MongoDB in Berührung gekommen sind, können Sie die offizielle Website von MongoDB besuchen, um sich schnell über die Hauptfunktionen und Anwendungsszenarien zu informieren. Wenn Ihr Englischniveau wirklich begrenzt ist, können Sie die MongoDB-Baidu-Enzyklopädie lesen, um mehr zu erfahren. Ich persönlich empfehle, die englischen Informationen direkt zu lesen, da Sie früher oder später technische Informationen lesen müssen.
Die Umgebung in diesem Artikel basiert auf CentOS 7.3 64-Bit und die MongoDB-Version ist 3.2.4.
Führen Sie auf dem Server die YUM-Installation mit Superuser-Rechten aus. Der Befehl lautet wie folgt:
[username@xxx]# su [username] -- username 为你登陆服务器的用户名 [username@xxx]# yum -y install mongodb-server mongodb 如果安装成功,你会得到如下类似的结果: Installed: mongodb-server.x86_64 0:2.6.12-4.el7 Complete!
Suchen Sie das Installationsverzeichnis von MongoDB
Wie aus den obigen Ergebnissen ersichtlich ist, wird Mongo unter dem aktuellen /usr/bin installiert und geben Sie dieses Verzeichnis ein.
[username@xxx]# find -name mongo /etc/sysconfig/mongod /usr/bin/mongod
Konfiguration mongodb.conf hinzufügen. Platzieren Sie die Konfigurationsdateien, Daten und Protokolldateien im Verzeichnis /usr/local/mongodb und erstellen Sie die Daten- und Datumsverzeichnisse im Verzeichnis /usr/local/mongodb: Daten und Protokolle
[username@xxx]# cd /usr/local [username@xxx]# mkdir mongodb [username@xxx]# cd mongodb [username@xxx]# mkdir data [username@xxx]# mkdir logs [username@xxx]# vi mongodb.conf 在打开的文件中添加以下内容,然后保存: dbpath = /usr/local/mongodb/data logpath = /usr/local/mongodb/logs/mongod.log port = 27017 fork = true nohttpinterface = true
Mongo-Dienst starten
[username@xxx]# /usr/bin/mongod --config /usr/local/mongodb/mongodb.conf about to fork child process, waiting until server is ready for connections. forked process: 9516 child process started successfully, parent exiting
MongoDB verbinden
Also Bisher wurde MongoDB installiert und gestartet und kann sich als Client mit dem Server verbinden.
[username@xxx]# mongo 127.0.0.1:27017 MongoDB shell version: 2.6.12 connecting to: 127.0.0.1:27017/test Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user
Erstellen Sie einen Root-Benutzer und gewähren Sie Superadministratorrechte (Root). Der Superadministrator kann alle Bibliotheken und Berechtigungen sowie Sicherungs- und Clustervorgänge unter MongoDB verwalten. Beachten Sie, dass im Codeblockbereich unten der fett gedruckte Teil der MongoDB-Shell-Befehl und der kursiv gedruckte Teil das Ergebnis nach der Ausführung des Shell-Befehls ist.
use admin switched to db admin db.createUser({user:"root", pwd: "123456", roles: ["root"]}) Successfully added user: { "user" : "root", "roles" : [ "root" ] }
Erstellen Sie einen Admin-Benutzer für die Admin-Bibliothek und gewähren Sie Administratorrechte. <strong> </strong>
use admin switched to db admin db.createUser({user:"admin", pwd:"admin", roles: [{role:"userAdminAnyDatabase", db:"admin"}]}) Successfully added user: { "user" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ]}
Erstellen Sie ein neues Bibliotheksgeschäft, fügen Sie der Bibliothek eine Benutzerdemo und eine Passwortdemo hinzu und geben Sie ihr Lese- und Schreibrechte und Administratorberechtigungen.
use biz switched to db biz db.createUser({user:"demo", pwd:"demo", roles:["readWrite", "dbAdmin"]}) Successfully added user: { "user" : "demo", "roles" : [ "readWrite", "dbAdmin" ] }
Authentifizieren Sie den erstellten Benutzer. Dieser Schritt ist sehr wichtig . Nachdem die Authentifizierung abgeschlossen ist, verlassen Sie die Shell.
db.auth('demo', 'demo') 1 # 1 - 表示认证成功,0 - 表示失败 exit bye
Ändern Sie die Konfigurationsdatei /usr/local/mongodb/mongodb.conf, fügen Sie den folgenden Inhalt hinzu und speichern Sie ihn. auth=true
Dienst beenden und neu starten
// 查看mongo进程信息 [username@xxx]# ps -def|grep mongo root 9516 1 0 15:08 ? 00:00:30 /usr/bin/mongod --config mongodb.conf root 9759 9614 0 16:55 pts/0 00:00:00 grep --color=auto mongo // 杀死进程 [username@xxx]# kill -4 9516 // 启动MongoDB [username@xxx]# /usr/bin/mongod --config /usr/local/mongodb/mongodb.conf about to fork child process, waiting until server is ready for connections. forked process: 9783 child process started successfully, parent exiting
ein und versuchen Sie, anonym eine Verbindung zur Geschäftsdatenbank herzustellen. Führen Sie nach dem Herstellen der Verbindung den Befehl show collections
aus. Daraufhin wird eine Meldung über einen Überprüfungsfehler not authorized for query on biz.system.namespaces
angezeigt. Der entsprechende Befehl lautet wie folgt:
[username@xxx]# /usr/bin/mongo 127.0.0.1:27017/biz MongoDB shell version: 2.6.12 connecting to: 127.0.0.1:27017/biz show collections 2017-04-15T17:04:20.662+0800 error: { "$err" : "not authorized for query on biz.system.namespaces", "code" : 13 } at src/mongo/shell/query.js:131
Verwenden Sie den hinzugefügten Benutzer und das Passwort, um eine Verbindung zur Biz-Bibliothek herzustellen, und führen Sie show collections
aus Erstellen Sie die Benutzersammlung, fügen Sie Testdaten ein und stellen Sie fest, dass das richtige Ergebnis erzielt werden kann. <code><br><em>{ "_id" : ObjectId("58f1e4aff754011ea2e23238"), "name" : "aa" }</em>
{ "_id" : ObjectId("58f1e4aff754011ea2e23238"), "name" : "aa" }
[username@xxx]# /usr/bin/mongo 127.0.0.1:27017/biz -u demo -p demo MongoDB shell version: 2.6.12 connecting to: 127.0.0.1:27017/biz show collections db.users.insert({name:"aa"}) WriteResult({ "nInserted" : 1 }) db.users.find()
Berechtigungen erfolgreich festgelegt!
Im MongoDB-Berechtigungseinstellungsprozess müssen Sie nach dem Hinzufügen eines Benutzers die entsprechende Benutzerüberprüfung durchführen, andernfalls werden die Berechtigungen des Benutzers ungültig und wirksam. Dieser Artikel behandelt nur einige einfache Berechtigungen. Weitere integrierte Berechtigungen finden Sie in der offiziellen Dokumentation. Sollten während des Konfigurationsprozesses Probleme auftreten, können Sie mir zur Diskussion und Kommunikation eine Nachricht hinterlassen.
[Verwandte Empfehlungen]
1. Kostenloses kostenloses MySQL-Online-Video-Tutorial
2. Neuestes MySQL-Handbuch-Tutorial
Das obige ist der detaillierte Inhalt vonMainstream-NoSQL-Datenbank – detaillierte Erläuterung der MongoDB-Berechtigungseinstellungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!