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

Как установить и использовать MongoDB в Ubuntu 20.04


Это руководство существует для этих версий ОС

  • Ubuntu 14.04 LTS (Trusty Tahr)

На этой странице

  1. Предпосылки
  2. Установите MongoDB
  3. Настройка MongoDB
  4. Создание администратора MongoDB
  5. Проверьте аутентификацию MongoDB
  6. Заключение

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

В этом руководстве мы объясним, как установить и использовать систему базы данных MongoDB на сервере Ubuntu 20.04.

Предпосылки

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

Установить MongoDB

По умолчанию последняя версия MongoDB недоступна в стандартном репозитории Ubuntu 20.04. Поэтому вам нужно будет добавить официальный репозиторий MongoDB в вашу систему.

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

apt-get install gnupg -y

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

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -

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

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

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

apt-get update -y
apt-get install mongodb-org -y

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

systemctl start mongod
systemctl enable mongod

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

systemctl status mongod

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

? mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2020-05-15 05:30:39 UTC; 18s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 106996 (mongod)
     Memory: 76.0M
     CGroup: /system.slice/mongod.service
             ??106996 /usr/bin/mongod --config /etc/mongod.conf

May 15 05:30:39 ubunt4 systemd[1]: Started MongoDB Database Server.
May 15 05:30:48 ubunt4 systemd[1]: /lib/systemd/system/mongod.service:11: PIDFile= references a path below legacy directory /var/run/, upd>
lines 1-11/11 (END)

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

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

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

MongoDB shell version v4.2.6
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("e1575445-f441-4b30-a5d7-4cf68852e68f") }
MongoDB server version: 4.2.6
{
	"authInfo" : {
		"authenticatedUsers" : [ ],
		"authenticatedUserRoles" : [ ]
	},
	"ok" : 1  
}

Настроить MongoDB

Файл конфигурации MongoDB по умолчанию находится в /etc/mongod.conf. По умолчанию каждый пользователь будет иметь доступ ко всем базам данных и выполнять любые действия. Для производственных сред рекомендуется включить аутентификацию MongoDB.

Вы можете сделать это, отредактировав файл /etc/mongod.conf:

nano /etc/mongod.conf

Добавьте следующие строки:

security:
  authorization: enabled

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

systemctl restart mongod

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

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

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

mongo

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

MongoDB shell version v4.2.6
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("9ee0ea0c-cf95-4b83-9e88-00dc3a61e0a6") }
MongoDB server version: 4.2.6
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
	http://docs.mongodb.org/
Questions? Try the support group
	http://groups.google.com/group/mongodb-user

Затем подключитесь к базе данных администратора с помощью следующей команды:

> use admin

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

switched to db admin

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

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

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

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

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

> quit()

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

На этом этапе в MongoDB настроена аутентификация.

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

mongo -u admin -p --authenticationDatabase admin

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

MongoDB shell version v4.2.6
Enter password: 

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

connecting to: mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("00d6d1eb-d1c3-41ea-89c7-d46ec6d17bee") }
MongoDB server version: 4.2.6

Теперь измените базу данных на admin с помощью следующей команды:

> use admin

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

switched to db admin

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

> show users

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

{
	"_id" : "admin.admin",
	"userId" : UUID("65907484-9d67-4e6e-bb88-a6666310e963"),
	"user" : "admin",
	"db" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	],
	"mechanisms" : [
		"SCRAM-SHA-1",
		"SCRAM-SHA-256"
	]
}
> 

Заключение

В приведенном выше руководстве вы узнали, как установить и настроить MongoDB на сервере Ubuntu 20.04. Для получения дополнительной информации вы можете посетить документацию MongoDB в Mongo Doc.