MongoDB е модерна система за управление на база данни с документи с отворен код, предназначена за постоянство на данни с висока производителност, висока наличност, както и автоматично мащабиране, базирана на най-съвременната технология на NoSQL . Под MongoDB , записът е документ, който е структура от данни, която се състои от двойки полета и стойности (документите MongoDB са сравними с JSON обекти).
Тъй като осигурява висока производителност и големи функции за мащабируемост, той се използва за изграждане на модерни приложения, които изискват мощни, критични за мисията и високодостъпни бази данни.
В тази статия ще обясним как да инсталирате MongoDB , управлява услугата му и настройва основното удостоверяване на Ubuntu 18.04 .
Важно :Трябва да отбележите, че разработчиците на MongoDB предлагат само пакети за 64-битов LTS (дългосрочна поддръжка) Издания на Ubuntu като 14.04 LTS (доверен),16.04 LTS (xenial) и т.н.
Стъпка 1:Инсталиране на MongoDB на Ubuntu 18.04
1. Официалните хранилища на софтуерни пакети на Ubuntu идват с най-новата версия на MongoDB , и може лесно да се инсталира с помощта на мениджъра на пакети APT.
Първо актуализирайте кеша на системния софтуерен пакет, за да имате най-новата версия на списъците на хранилището.
$ sudo apt update
2. След това инсталирайте пакета MongoDB, който включва няколко други пакета като mongo-tools ,mongodb-клиенти , mongodb-сървър и mongodb-server-core .
$ sudo apt install mongodb
3. След като го инсталирате успешно, услугата MongoDB ще стартира автоматично чрез systemd и процесът слуша на порт 27017 . Можете да проверите състоянието му, като използвате командата systemctl, както е показано.
$ sudo systemctl status mongodb
Стъпка 2:Управление на услугата MongoDB
4. MongoDB инсталацията идва като услуга на systemd и може лесно да се управлява чрез стандартни команди на systemd, както е показано.
За да спрете да изпълнявате услугата MongoDB, изпълнете следната команда.
$ sudo systemctl stop mongodb
За да стартирате услуга MongoDB, въведете следната команда.
$ sudo systemctl start mongodb
За да рестартирате услуга MongoDB, въведете следната команда.
$ sudo systemctl restart mongodb
За да деактивирате автоматично стартираната услуга MongoDB, въведете следната команда.
$ sudo systemctl disable mongodb
За да активирате отново услугата MongoDB, въведете следната команда.
$ sudo systemctl enable mongodb
Стъпка 3:Активирайте отдалечения достъп до MongoDB на защитната стена
5. По подразбиране MongoDB работи на порт 27017 , за да разрешите достъп отвсякъде, където можете да използвате.
$ sudo ufw allow 27017
Но активиране на достъп до MongoDB отвсякъде дава неограничен достъп до данните в базата данни. Така че е по-добре да дадете достъп до конкретно местоположение на IP адрес на порта на MongoDB по подразбиране, като използвате следната команда.
$ sudo ufw allow from your_server_IP/32 to any port 27017 $ sudo ufw status
6. По подразбиране портът 27017 слуша на локален адрес 127.0.0.1 само. За да разрешите отдалечени връзки с MongoDB, трябва да добавите IP адреса на вашия сървър към /etc/mongodb.conf конфигурационен файл, както е показано.
bind_ip = 127.0.0.1,your_server_ip #port = 27017
Запазете файла, излезте от редактора и рестартирайте MongoDB.
$ sudo systemctl restart mongodb
Стъпка 4:Създайте root потребител и парола на базата данни MongoDB
7. По подразбиране MongoDB идва с деактивирано удостоверяване на потребителя, поради което стартира без контрол на достъпа. За да стартирате обвивката mongo , изпълнете следната команда.
$ mongo
8. След като сте се свързали с обвивката на mongo , можете да изброите всички налични бази данни със следната команда.
> show dbs
9. За да активирате контрола на достъпа във вашето внедряване на MongoDB, за да наложите удостоверяване; изискване на потребителите да се идентифицират всеки път, когато се свързват със сървъра на базата данни.
MongoDB използва Механизма за удостоверяване на отговор на Salted Challenge (SCRAM ) механизъм за удостоверяване по подразбиране. Използване на SCRAM , MongoDB проверява предоставените потребителски идентификационни данни спрямо името на потребителя, паролата и базата данни за удостоверяване (базата данни, в която е създаден потребителят, и заедно с името на потребителя служи за идентифициране на потребителя).
Трябва да създадете потребителски администратор (аналогично на root потребител под MySQL/MariaDB ) в администраторската база данни. Този потребител може да администрира потребители и роли, като например създаване на потребители, предоставяне или отмяна на роли от потребители и създаване или промяна на персонализирани роли.
Първо превключете към администратора база данни, след което създайте root потребител като използвате следните команди.
> use admin > db.createUser({user:"root", pwd:"[email protected]!#@%$admin1", roles:[{role:"root", db:"admin"}]})
Сега излезте от mongo shell, за да активирате удостоверяването, както е обяснено по-нататък.
10. mongodbът екземплярът е стартиран без --auth
опция за команден ред. Трябва да активирате удостоверяването на потребителите, като редактирате /lib/systemd/system/mongod.service файл, първо отворете файла за редактиране по този начин.
$ sudo vim /lib/systemd/system/mongodb.service
Под [Service]
config, намерете параметъра ExecStart .
ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
Променете го на следното:
ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
Запазете файла и излезте от него.
11. 8. След като направите промени в конфигурационния файл, стартирайте „systemctl daemon-reload ‘, за да презаредите единици и да рестартирате услугата MongoDB и да проверите състоянието й, както следва.
$ systemctl daemon-reload $ sudo systemctl restart mongodb $ sudo systemctl status mongodb
12. Сега, когато се опитате да се свържете с mongodb , трябва да се удостоверите като потребител на MongoDB. Например:
$ mongo -u "root" -p --authenticationDatabase "admin"
Забележка :Не се препоръчва да въвеждате паролата си в командния ред, тъй като тя ще бъде съхранена във файла с история на обвивката и може да бъде видяна по-късно от нападател.
Това е всичко! MongoDB е модерна система за управление на база данни No-SQL с отворен код, която осигурява висока производителност, висока наличност и автоматично мащабиране.
В тази статия сме обяснили как да инсталирате и да започнете с MongoDB в Ubuntu 18.04 . Ако имате някакви въпроси, използвайте формуляра за коментари по-долу, за да се свържете с нас.