Sysadmin
June 2

Установка MongoDB

Установка NoSQL хранилища MongoDB

apt -y install gnupg2
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" | tee /etc/apt/sources.list.d/mongodb-org.list
apt install mongodb

Включить доступ по сети к MongoDB
Доступ по сети определяется интерфейсами, которые слушает MongoDB, для этого в файле /etc/mongod.conf добавляем IP адрес (замените <your_server_ip_address> IP адресом своего сервера MongoDB):

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1,<your_server_ip_address>
  

после чего нужно перезапустить MongoDB

systemctl restart mongod

Зайти в CLI MongoDB

mongo
mongo -u root -p <password>

Посмотреть список баз данных MongoDB

show dbs

Подключиться к выбранной базе данных <database_name> в MongoDB или создать ее, если не существует

use database_name

Создать пользователя <database_user> для базы данных <database_name>

use database_name
db.createUser(
  {
    user: "database_user",
    pwd: "SecretPassword,
    roles: [
      { role: "readWrite", db: "database_name" }
    ]
  }
)

Посмотреть список коллекций в выбранной базе данных MongoDB

show collections

Посмотреть список пользователей базы данных MongoDB

show users

Создать пользователя базы данных MongoDB

db.createUser({user:'username', pwd:'SecretPassword', roles:["readWrite"]})

Безопасность в MongoDB

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

mongo

Выполнить

use admin
db.createUser(
  {
    user: “superuser”,
    pwd: “SecretPassword”,
    roles: [ “root” ]
  }
)

Проверить, что пользователь создан

show users

Выключить сервер

db.shutdownServer()
exit

и запустить демона MongoDB

mongod --auth