На овом блогу смо говорили о неким системима база података, међу којима су најпопуларнији МариаДБ и МиСКЛ, јер су то системи који су обично укључени у Ксампп или Лампп. Овог пута ћемо разговарати о томе други систем који је МонгоДБ.
МонгоДБ је НоСКЛ систем база података оријентисан на документе отвореног кода, Ово је савремени систем за управљање базама података докумената дизајниран за трајање података високих перформанси, висока доступност, као и аутоматско скалирање, засновано на технологији технике НоСКЛ.
Уместо да податке чува у табелама као што се то ради у релационим базама података, МонгоДБ спрема структуре података у документ, која је структура података која се састоји од парова поља и вредности (МонгоДБ документи су упоредиви са ЈСОН објектима).
Будући да пружа високе перформансе и одличне карактеристике скалабилности, користи се за изградњу модерних апликација које захтевају моћне, критичне и високо доступне базе података.
МонгоДБ инсталација на Убунту
Да бисте инсталирали овај систем база података на наш систем, Морамо само отворити терминал и извршити следећу команду у њему:
sudo apt install mongodb
Инсталација завршена, МонгоДБ услуга ће се аутоматски покренути преко системд и процес ће се изводити на порту 27017. Његов статус можете проверити помоћу наредбе:
sudo systemctl status mongodb
Ако не, можемо присилити старт помоћу ове наредбе:
sudo systemctl start mongodb
Омогућавање удаљених веза са МонгоДБ
Систем база података МонгоДБ подразумевано користи порт 27017 који морамо отворити Да бисмо прихватили даљинске везе, омогућавамо је само следећом наредбом.
sudo ufw allow 27017
Порт 27017 се подразумевано може приступити само са локалне адресе 127.0.0.1. Да бисте омогућили удаљене везе са МонгоДБ, потребно је у датотеку додати ИП адресу сервера /етц/монгодб.цонф
Само га уредите помоћу:
sudo nano
И можемо видети нешто слично овоме:
bind_ip = 127.0.0.1, your_server_ip #port = 27,017
Које уређујемо подацима са нашег сервера.
Омогућавајући приступ МонгоДБ-у одасвуда, он даје неограничен приступ подацима у бази података. Због тога је боље дати приступ локалној подразумеваној ИП адреси МонгоДБ порта.
sudo ufw allow from your_server_IP/32 to any port 27017 sudo ufw status
Једном када се то уради, довољно је поново покренути услугу тако да се нове промене учитају на почетку, ово радимо са:
sudo systemctl restart mongodb
Направите корисника у МонгоДБ са лозинком
Подразумевано база података има прилично једноставан приступ, па да бисмо то ојачали можемо створити корисника са лозинком.
МонгоДБ користи механизам за аутентификацију СЦРАМ подразумевано. Коришћење СЦРАМ-а на систему проверава испоручене корисничке акредитиве у односу на корисничко име, лозинку и базу података за потврду идентитета.
Само покрените конзолу базе података следећом наредбом:
Mongo
Списак постојећих база података можемо направити са:
show dbs
Можемо створити корисника који ће нам омогућити управљање корисницима и функцијама као што је стварање корисника, додељивање или укидање корисничких улога и стварање или мењање царинских улога.
Само куцајте
use admin
А корисника креирамо следећом наредбом, где име корисника „роот“ и лозинку „лозинку“ замењујемо приступним креценцијама које сматрамо прикладним.
db.createUser({user:"root", pwd:"password", roles:[{role:"root", db:"admin"}]})
Када се то уради, морамо омогућити метод аутентификације за ово ћемо уредити следећу датотеку:
sudo nano /lib/systemd/system/mongodb.service
И тражићемо следећи ред:
ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
И то уредите тако да буде следеће:
ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
Сада једноставно се поново покренемо у бази података
systemctl daemon-reload sudo systemctl restart mongodb sudo systemctl status mongodb
Y Метод аутентификације тестирамо са:
mongo -u "usuario" -p --authenticationDatabase "contraseña"
Помозите ми са овом ГРЕШКОМ.
2021-03-24Т21: 33: 16.233 + 0000 Е УПИТ [нит1] Грешка: листДатабасес није успео: {
«Ок»: 0,
"Еррмсг": "није овлашћен на администратору за извршавање наредбе {листДатабасес: 1.0, $ дб: \" админ \ "}",
"Шифра": 13,
"ЦодеНаме": "Неовлашћено"
}:
_гетЕррорВитхЦоде@срц/монго/схелл/утилс.јс: 25:13
Монго.прототипе.гетДБс@срц/монго/схелл/монго.јс: 65: 1
схеллХелпер.схов@срц/монго/схелл/утилс.јс: 816: 19
схеллХелпер@срц/монго/схелл/утилс.јс: 706: 15
@ (схеллхелп2): 1: 1