Како да инсталирате MongoDB на CentOS 7
Вовед
MongoDB е база на податоци ориентирана кон документи која е бесплатна и со отворен код. Класифицирана е како NoSQL база на податоци бидејќи не се потпира на традиционална структура на релациона база на податоци базирана на табели. Наместо тоа, користи документи слични на JSON со динамични шеми. За разлика од релационите бази на податоци, MongoDB не бара претходно дефинирана шема пред да додадете податоци во базата на податоци. Можете да ја менувате шемата во секое време и онолку често колку што е потребно, без да мора да поставите нова база на податоци со ажурирана шема.
Во ова упатство, ќе инсталирате MongoDB Community Edition на сервер CentOS 7.
Предуслови
Пред да го следите ова упатство, проверете дали имате
- Сервер CentOS 7 со корисник безroot
sudo
. За насоки, ве молиме погледнете го нашиот туторијал, Почетно поставување сервер со CentOS 7.
Чекор 1 – Додавање на складиштето MongoDB
Пакетот mongodb-org
не постои во стандардните складишта за CentOS. Сепак, MongoDB одржува посветено складиште. Ајде да го додадеме на нашиот сервер.
Со уредникот vi
, креирајте датотека .repo
за yum
, алатката за управување со пакети за CentOS:
- sudo vi /etc/yum.repos.d/mongodb-org.repo
Потоа, посетете го делот Install on Red Hat од документацијата на MongoDB и додајте ги информациите за складиштето за најновото стабилно издание во датотеката:
[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
Зачувајте ги промените во датотеката со притискање на копчето ESC
, потоа напишете :wq
и притиснете ENTER
.
Пред да продолжите, треба да потврдите дека складиштето MongoDB постои во алатката yum
. Командата repolist
прикажува список на овозможени складишта:
- yum repolist
Output. . .
repo id repo name
base/7/x86_64 CentOS-7 - Base
extras/7/x86_64 CentOS-7 - Extras
mongodb-org-6.0/7/x86_64 MongoDB Repository
updates/7/x86_64 CentOS-7 - Updates
. . .
Со поставеното Репозиториум MongoDB
, можете да продолжите со инсталацијата.
Чекор 2 – Инсталирање MongoDB
Можете да го инсталирате пакетот mongodb-org
од складиштето од трета страна користејќи ја алатката yum
.
- sudo yum install mongodb-org
Има два потсетници Дали е ова во ред [y/N]:
. Првиот дозволува инсталирање на MongoDB пакетите, а вториот увезува клуч GPG. Издавачот на MongoDB го потпишува нивниот софтвер и yum
користи клуч за да го потврди интегритетот на преземените пакети. На секое барање, напишете Y
и потоа притиснете го копчето ENTER
.
Следно, стартувајте ја услугата MongoDB со алатката systemctl
:
- sudo systemctl start mongod
Иако нема да ги користиме во ова упатство, може да ја промените состојбата на услугата MongoDB со командите reload
и stop
.
Командата reload
бара процесот mongod
да ја чита конфигурациската датотека, /etc/mongod.conf
и да ги примени какви било промени без да бара рестартирање.
- sudo systemctl reload mongod
Командата стоп
ги запира сите процеси што се извршуваат mongod
.
- sudo systemctl stop mongod
Услужната алатка systemctl
не даде резултат по извршувањето на командата start
, но можете да проверите дали услугата започнала со прегледување на крајот на mongod.log
датотека со командата tail
:
- sudo tail /var/log/mongodb/mongod.log
Output. . .
[initandlisten] waiting for connections on port 27017
Излез од чекање за врска потврдува дека MongoDB започна успешно и дека можете да пристапите до серверот на базата на податоци со MongoDB Shell:
- mongo
Забелешка: Кога ја лансиравте MongoDB Shell, можеби сте виделе вакво предупредување:
** ПРЕДУПРЕДУВАЊЕ:** меките граници се премногу ниски. ограничувањата поставени на 4096 процеси, 64000 датотеки. Бројот на процеси треба да биде најмалку 32000 : 0,5 пати повеќе од бројот на датотеки.
MongoDB е апликација со навој. Може да започне дополнителни процеси за да се справи со обемот на работа. Во предупредувањето се наведува дека за да може MongoDB да биде најефективен, бројот на процеси што е овластен да ги врти треба да биде половина од бројот на датотеки што може да ги има отворени во даден момент. За да го решите предупредувањето, изменете ја меката гранична вредност процеси
за mongod
со уредување на датотеката 20-nproc.conf
:
- sudo vi /etc/security/limits.d/20-nproc.conf
Додадете ја следнава линија на крајот од датотеката:
. . .
mongod soft nproc 32000
Погрижете се да ги зачувате промените со притискање на копчето ESC
, потоа напишете :wq
и притиснете ENTER
.
За новото ограничување да биде достапно за MongoDB, рестартирајте го користејќи ја алатката systemctl
:
- sudo systemctl restart mongod
Потоа, кога ќе се поврзете со MongoDB Shell, предупредувањето треба да престане да постои.
За да научите како да комуницирате со MongoDB од школка, можете да го прегледате излезот од методот db.help()
кој обезбедува листа на методи за објектот db
.
- db.help()
OutputDB methods:
db.adminCommand(nameOrDocument) - switches to 'admin' db, and runs command [ just calls db.runCommand(...) ]
db.auth(username, password)
db.cloneDatabase(fromhost)
db.commandHelp(name) returns the help for the command
db.copyDatabase(fromdb, todb, fromhost)
db.createCollection(name, { size : ..., capped : ..., max : ... } )
db.createUser(userDocument)
db.currentOp() displays currently executing operations in the db
db.dropDatabase()
. . .
Оставете го процесот mongod
да работи во заднина, но излезете од школка со командата exit
:
- exit
OutputBye
Чекор 3 - Потврдување на стартувањето
Бидејќи апликацијата управувана од базата на податоци не може да функционира без база на податоци, ќе се погрижиме демонот MongoDB, mongod
, да започне со системот.
Користете ја алатката systemctl
за да го проверите статусот на неговото стартување:
- systemctl is-enabled mongod; echo $?
Излез од нула потврдува овозможен демон, кој го сакаме. Еден, сепак, потврдува оневозможен демон што нема да започне.
Output. . .
enabled
0
Во случај на оневозможен демон, користете ја алатката systemctl
за да ја овозможите:
- sudo systemctl enable mongod
Сега имате вклучен примерок на MongoDB кој автоматски ќе започне по рестартирање на системот.
Чекор 4 – Увоз на пример за збир на податоци (опционално)
За разлика од другите сервери за бази на податоци, MongoDB не доаѓа со податоци во својата база на податоци test
. Бидејќи не сакаме да експериментираме со нов софтвер користејќи податоци за производство, ќе преземеме примерок на база на податоци од примерот на MongoDB. Овој документ JSON содржи збирка ресторани, кои ќе ги користиме за да вежбаме интеракција со MongoDB и да избегнеме да предизвикаме штета на чувствителните податоци.
Започнете со преместување во директориум што може да се запише:
- cd /tmp
Користете ја командата curl
и врската од MongoDB за да ја преземете датотеката JSON:
- curl -LO https://raw.githubusercontent.com/mongodb/docs-assets/primer-dataset/primer-dataset.json
Командата mongoimport
ќе ги вметне податоците во базата на податоци тест. Знамето --db
дефинира која база на податоци да се користи додека знамето --collection
одредува каде во базата на податоци ќе се складираат информациите, а --датотеката
Знамето ѝ кажува на командата на која датотека да се изврши акцијата за увоз:
- mongoimport --db test --collection restaurants --file /tmp/primer-dataset.json
Излезот го потврдува увозот на податоците од датотеката primer-dataset.json
:
Outputconnected to: localhost
imported 25359 documents
Со поставената база на податоци, можете да извршите барање против него.
Рестартирајте ја MongoDB Shell:
- mongo
Школката стандардно ја избира базата на податоци test
, каде што сте ги увезувале податоците.
Побарајте ја збирката ресторани со методот find()
за да прикажете список со сите ресторани во базата на податоци. Бидејќи колекцијата содржи над 25.000 записи, користете го опционалниот метод limit()
за да го намалите излезот од барањето на одреден број. Дополнително, методот pretty()
ги прави информациите почитливи за човек со нови линии и вдлабнатини.
- db.restaurants.find().limit(1).pretty()
Output{
"_id" : ObjectId("57e0443b46af7966d1c8fa68"),
"address" : {
"building" : "1007",
"coord" : [
-73.856077,
40.848447
],
"street" : "Morris Park Ave",
"zipcode" : "10462"
},
"borough" : "Bronx",
"cuisine" : "Bakery",
"grades" : [
{
"date" : ISODate("2014-03-03T00:00:00Z"),
"grade" : "A",
"score" : 2
},
{
"date" : ISODate("2013-09-11T00:00:00Z"),
"grade" : "A",
"score" : 6
},
{
"date" : ISODate("2013-01-24T00:00:00Z"),
"grade" : "A",
"score" : 10
},
{
"date" : ISODate("2011-11-23T00:00:00Z"),
"grade" : "A",
"score" : 9
},
{
"date" : ISODate("2011-03-10T00:00:00Z"),
"grade" : "B",
"score" : 14
}
],
"name" : "Morris Park Bake Shop",
"restaurant_id" : "30075445"
}
Можете да продолжите со користење на примерокот на податоци за да се запознаете со MongoDB или да го избришете со методот db.restaurants.drop()
:
- db.restaurants.drop()
На крајот, излезете од школка со командата exit
:
- exit
OutputBye
Заклучок
Во ова упатство, додадовте складиште од трета страна во yum
, го инсталиравте серверот за базата на податоци MongoDB, увезете примерок на база на податоци и извршивте едноставно барање. Има уште многу што можете да направите со MongoDB, како што е создавање бази на податоци со збирки
, пополнување бази на податоци со многу документи
и градење робусни апликации. За да дознаете повеќе за MongoDB, проверете ги нашите упатства за серии на MongoDB.