Linux-da MongoDB Community Edition 4.0 guruň


MongoDB açyk çeşme shemasyz we ýokary öndürijilikli resminama gönükdirilen NoSQL maglumat bazasydyr (NoSQL, Apache CouchDB ýaly tablisa, hatar we ş.m. üpjün etmeýär). Has gowy işlemek üçin dinamiki shema bilen JSON ýaly resminamalarda maglumatlary saklaýar.

Goldaw berýän MongoDB paketleri, öz ammary bilen gelýär we öz içine alýar:

  1. mongodb-org - Aşakdaky 4 komponent paketini awtomatiki gurjak metapackage.
  2. mongodb-org-server - mongod daemony we goýberilen konfigurasiýa we init skriptleri bar.
  3. mongodb-org-mongos - mongos daemonyny öz içine alýar.
  4. mongodb-org-shell - mongo gabygyny öz içine alýar.
  5. mongodb-org-tools - MongoDB gurallaryny öz içine alýar: mongo, mongodump, mongorestore, mongoexport, mongoimport, mongostat, mongotop, bsondump, mongofiles, mongooplog we mongoperf.

Bu makalada diňe 64 bitli ulgamlarda .rpm we .deb paketlerini ulanyp, resmi MongoDB ammarynyň kömegi bilen RHEL, CentOS, Fedora, Ubuntu we Debian serwerlerinde MongoDB 4.0 Community Edition gurnamagyň üstünde durarys.

1-nji ädim: MongoDB ammaryny goşmak

Ilki bilen 64 bitli platformalarda MongoDB Community Edition gurmak üçin MongoDB resmi ammaryny goşmaly.

MongoDB-ni gönüden-göni yum buýrugy bilen gurmak üçin /etc/yum.repos.d/mongodb-org-4.0.repo faýly dörediň.

# vi /etc/yum.repos.d/mongodb-org-4.0.repo

Indi aşakdaky ammar faýly goşuň.

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

MongoDB ammary diňe 18.04 LTS (bionik), 16.04 LTS (ksenial) we 14.04 LTS (Ynamly Tahr) uzak möhletli 64bit Ubuntu goýberilişleri üçin paketler bilen üpjün edýär.

Ubuntu-da MongoDB Community Edition gurmak üçin ilki bilen paket dolandyryş ulgamy tarapyndan ulanylýan açyk açary import etmeli.

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

Ondan soň, MongoDB ammar faýly dörediň we ammary görkezilişi ýaly täzeläň.

$ echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
$ sudo apt-get update
$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
$ sudo apt-get update
$ echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
$ sudo apt-get update

MongoDB ammary diňe 64 bitli Debian 9 Stretch we Debian 8 Jessie üçin paketler bilen üpjün edýär, MongoDB-ni Debian-a gurmak üçin aşakdaky buýruklary işletmeli:

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
$ echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
$ sudo apt-get update
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
$ echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/4.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
$ sudo apt-get update

2-nji ädim: MongoDB jemgyýetçilik neşir paketlerini gurmak

Repo gurlansoň, MongoDB 4.0 gurmak üçin aşakdaky buýrugy işlediň.

# yum install -y mongodb-org               [On RPM based Systems]
$ sudo apt-get install -y mongodb-org      [On DEB based Systems]

Belli bir MongoDB goýberiş wersiýasyny gurmak üçin, her bir komponent paketini aýratynlykda goşuň we aşakdaky mysalda görkezilişi ýaly wersiýa belgisini bukjanyň adyna goşuň:

-------------- On RPM based Systems --------------
# yum install -y mongodb-org-4.0.6 mongodb-org-server-4.0.6 mongodb-org-shell-4.0.6 mongodb-org-mongos-4.0.6 mongodb-org-tools-4.0.6

-------------- On DEB based Systems --------------
$ sudo apt-get install -y mongodb-org=4.0.6 mongodb-org-server=4.0.6 mongodb-org-shell=4.0.6 mongodb-org-mongos=4.0.6 mongodb-org-tools=4.0.6

3-nji ädim: MongoDB jemgyýetçilik neşirini sazlaň

/etc/mongod.conf faýly açyň we esasy sazlamalaryň aşagynda barlaň. Islendik sazlamany teswir eden bolsaňyz, teswir ýazmagyňyzy haýyş edýäris.

# vi /etc/mongod.conf
path: /var/log/mongodb/mongod.log
port=27017
dbpath=/var/lib/mongo

Indi diwar diwarynda 27017 portuny açyň.

-------------- On FirewallD based Systems --------------
# firewall-cmd --zone=public --add-port=27017/tcp --permanent
# firewall-cmd --reload

-------------- On IPtables based Systems --------------
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT

4-nji ädim: MongoDB jemgyýetçilik neşirini işlediň

Indi aşakdaky buýrugy bermek bilen mongod amalyny başlamagyň wagty geldi:

# service mongod start
OR               
$ sudo service mongod start

Bir setir okamak üçin /mongod amalynyň /var/log/mongodb/mongod.log <

2019-03-05T01:33:47.121-0500 I NETWORK  [initandlisten] waiting for connections on port 27017

Şeýle hem, aşakdaky buýruklary bermek bilen mongod amalyny başlap, duruzyp ýa-da täzeden başlap bilersiňiz:

# service mongod start
# service mongod stop
# service mongod restart

Indi ulgam ýüklemesinde mongod amalyny işjeňleşdiriň.

# systemctl enable mongod.service     [On SystemD based Systems]
# chkconfig mongod on                 [On SysVinit based Systems]

5-nji ädim: MongoDB ulanyp başlaň

Aşakdaky buýrugy ulanyp, MongoDB gabygyňyza birikdiriň.

# mongo
MongoDB shell version v4.0.6
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("70ffe350-a41f-42b9-871a-17ccde28ba24") }
MongoDB server version: 4.0.6
Welcome to the MongoDB shell.

Bu buýruk MongoDB maglumat bazasyna birikdiriler. Aşakdaky esasy buýruklary işlediň.

> show dbs
> show collections
> show users
> use <db name>
> exit

6-njy ädim: MongoDB jemgyýetçilik neşirini aýyryň

MongoDB-ni düýbünden aýyrmak üçin MongoDB programmalaryny, konfigurasiýa faýllaryny we kataloglarynda islendik maglumat we surnal bar.

Aşakdaky görkezmeler MongoDB-ni ulgamyňyzdan aýyrmak prosesini geçer.

# service mongod stop
# yum erase $(rpm -qa | grep mongodb-org)
# rm -r /var/log/mongodb
# rm -r /var/lib/mongo
$ sudo service mongod stop
$ sudo apt-get purge mongodb-org*
$ sudo rm -r /var/log/mongodb
$ sudo rm -r /var/lib/mongodb

Has giňişleýin maglumat üçin resmi sahypa http://docs.mongodb.org/manual/contents/ girip görüň.