Поиск по сайту:

Как установить и защитить базу данных NoSQL MongoDB в Ubuntu 22.04


MongoDB — бесплатная система баз данных NoSQL с открытым исходным кодом. Он хранит данные в формате JSON, а не в обычном табличном стиле, который используется в базах данных SQL. Его можно легко интегрировать с другими программами, поэтому он широко используется в веб-приложениях. Он не требует предопределенной схемы, а структура данных может меняться со временем. Он написан на C++ и обеспечивает масштабируемость, высокую производительность и высокую доступность.

В этом уроке мы покажем вам, как установить MongoDB в Ubuntu 22.04.

Предварительные условия

  • Сервер под управлением Ubuntu 22.04.
  • На сервере настроен пароль root.

Добавить репозиторий MongoDB

По умолчанию пакет MongoDB не включен в репозиторий по умолчанию Ubuntu 22.04, поэтому вам нужно будет добавить официальный репозиторий MongoDB в APT.

Сначала установите все необходимые зависимости, используя следующую команду:

apt install wget gnupg2 curl -y

Затем загрузите и добавьте GPG-ключ MongoDB, используя следующую команду:

curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -

Затем добавьте репозиторий MongoDB в APT, используя следующую команду:

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list

После добавления репозитория MongoDB обновите кеш репозитория с помощью следующей команды:

apt update -y

Установите MongoDB в Ubuntu 22.04.

Теперь вы можете установить пакет MongoDB, используя следующую команду:

apt install mongodb-org -y

Затем запустите службу MongoDB и включите ее запуск при перезагрузке системы, используя следующую команду:

systemctl start mongod

Вы можете проверить статус MongoDB с помощью следующей команды:

systemctl status mongod

Вы должны увидеть следующий вывод:

? mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-05-28 15:04:49 UTC; 7s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 27422 (mongod)
     Memory: 63.3M
        CPU: 967ms
     CGroup: /system.slice/mongod.service
             ??27422 /usr/bin/mongod --config /etc/mongod.conf

May 28 15:04:49 ubuntu2204 systemd[1]: Started MongoDB Database Server.

Чтобы проверить версию MongoDB, используйте следующую команду:

mongo --version

Вы должны увидеть версию MongoDB в следующем выводе:

MongoDB shell version v4.4.14
Build Info: {
    "version": "4.4.14",
    "gitVersion": "0b0843af97c3ec9d2c0995152d96d2aad725aab7",
    "openSSLVersion": "OpenSSL 1.1.1l  24 Aug 2021",
    "modules": [],
    "allocator": "tcmalloc",
    "environment": {
        "distmod": "ubunt4",
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}

Вы также можете проверить информацию о соединении MongoDB с помощью следующей команды:

mongo --eval 'db.runCommand({ connectionStatus: 1 })'

Вы должны получить следующий вывод:

MongoDB shell version v4.4.14
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("44560246-9673-418a-95c9-112bba345f4f") }
MongoDB server version: 4.4.14
{
	"authInfo" : {
		"authenticatedUsers" : [ ],
		"authenticatedUserRoles" : [ ]
	},
	"ok" : 1
}

Создать пользователя-администратора MongoDB

По умолчанию доступ к MongoDB возможен без имени пользователя и пароля. По соображениям безопасности рекомендуется создать пользователя с правами администратора для аутентификации MongoDB.

Сначала войдите в оболочку MongoDB с помощью следующей команды:

mongo

После входа в систему измените базу данных на admin, используя следующую команду:

use admin

Затем создайте пользователя-администратора и установите пароль с помощью следующей команды:

db.createUser(
  {
    user: "admin",
    pwd: "password",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

Вы должны увидеть следующий вывод:

Successfully added user: {
	"user" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	]
}

Затем отредактируйте файл конфигурации MongoDB и включите аутентификацию MongoDB. Вы можете сделать это, отредактировав файл конфигурации MongoDB:

nano /etc/mongod.conf

Добавьте следующую строку, чтобы включить аутентификацию MongoDB:

security:
  authorization: enabled

Сохраните и закройте файл, затем перезапустите службу MongoDB, чтобы применить изменения:

systemctl restart mongod

Проверьте аутентификацию MongoDB

Теперь вы можете проверить аутентификацию MongoDB с помощью следующей команды:

mongo -u admin -p --authenticationDatabase admin

Вам будет предложено предоставить пароль администратора MongoDB:

MongoDB shell version v4.4.14
Enter password: 

Введите пароль администратора и нажмите клавишу Enter. Вы должны увидеть следующий вывод:

connecting to: mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("05106893-c382-4895-a55b-7560858b31eb") }
MongoDB server version: 4.4.14
> 

Чтобы просмотреть все базы данных MongoDB, выполните следующую команду:

> show dbs

Вы должны увидеть следующий вывод:

admin   0.000GB
config  0.000GB
local   0.000GB

Заключение

Поздравляем! вы успешно установили MongoDB в Ubuntu 22.04. Теперь вы можете использовать MongoDB в качестве базы данных для высокопроизводительных веб-приложений. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.

Статьи по данной тематике: