Как установить и защитить базу данных 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 в качестве базы данных для высокопроизводительных веб-приложений. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.