- Connect to a Deployment
- Prerequisites
- Supported MongoDB Versions
- Connect to a Local Deployment on the Default Port
- Connect to a Local Deployment on a Non-Default Port
- Connect to a Deployment on a Remote Host
- Note
- Connect to MongoDB Atlas
- Specify Connection Options
- Connect With Authentication
- Tip
- See also:
- Connect to a Replica Set
- Option 1: DNS Seedlist Format
- Note
- +srv TLS Behavior
- Option 2: Specify Members in Connection String
- Note
- directConnection Parameter Added Automatically
- Connect Using TLS
- Установка и подключение к MongoDB
- Установка
- Установка и настройка MongoDB на CentOS
- Установка
- Доступ по сети
- Аутентификация
Connect to a Deployment
This page shows how to use the MongoDB Shell to connect to a MongoDB deployment.
Prerequisites
To use the MongoDB Shell , you must have a MongoDB deployment to connect to.
- For a free cloud-hosted deployment, you can use MongoDB Atlas .
Supported MongoDB Versions
You can use the MongoDB Shell to connect to MongoDB version 4.2 or greater.
Connect to a Local Deployment on the Default Port
To connect to a MongoDB deployment running on localhost with default port 27017, run mongosh without any options:
This is equivalent to the following command:
mongosh "mongodb://localhost:27017"
Connect to a Local Deployment on a Non-Default Port
To specify a port to connect to on localhost, you can use either:
For example, the following commands connect to a deployment running on localhost port 28015:
mongosh "mongodb://localhost:28015"
Connect to a Deployment on a Remote Host
To specify a remote host and port, you can use either:
- A connection string with the chosen host and port.
- The —host and —port command-line options. If you omit the —port option, mongosh uses the default port 27017.
For example, the following commands connect to a MongoDB deployment running on host mongodb0.example.com and port 28015:
mongosh "mongodb://mongodb0.example.com:28015"
mongosh --host mongodb0.example.com --port 28015
Note
Connect to MongoDB Atlas
If your remote host is an Atlas cluster, you can copy your connection string from the Atlas UI. To learn more, see Connect to a Cluster in the Atlas documentation.
Specify Connection Options
Specify different connection options to connect to different types of deployments.
Connect With Authentication
To connect to a MongoDB deployment that requires authentication, use the —username and —authenticationDatabase options. mongosh prompts you for a password, which it hides as you type.
For example, to authenticate as user alice on the admin database, run the following command:
mongosh "mongodb://mongodb0.example.com:28015" --username alice --authenticationDatabase admin
To provide a password as part of the connection command instead of using the prompt, use the —password option. Use this option for programmatic usage of mongosh , like a driver .
Tip
See also:
- To enforce authentication on a deployment, see Enable Access Control .
- To provision access to a MongoDB deployment, see Database Users .
Connect to a Replica Set
To connect to a replica set, you can either:
- Use the DNS Seedlist Connection Format .
- Explicitly specify the replica set name and members in the connection string.
Option 1: DNS Seedlist Format
To use the DNS seedlist connection format, include the +srv modifier in your connection string.
For example, to connect to a replica set on server.example.com , run the following command:
mongosh "mongodb+srv://server.example.com/"
Note
+srv TLS Behavior
When you use the +srv connection string modifier, MongoDB automatically sets the —tls connection option to true . To override this behavior, set —tls to false .
Option 2: Specify Members in Connection String
You can specify individual replica set members in the connection string .
For example, to connect to a three-member replica set named replA , run the following command:
mongosh "mongodb://mongodb0.example.com.local:27017,mongodb1.example.com.local:27017,mongodb2.example.com.local:27017/?replicaSet=replA"
Note
directConnection Parameter Added Automatically
When you specify individual replica set members in the connection string, mongosh automatically adds the directConnection=true parameter, unless at least one of the following is true:
- The replicaSet query parameter is present in the connection string.
- The connection string uses the mongodb+srv:// connection string format.
- The connection string contains a seed list with multiple hosts.
- The connection string already contains a directConnection parameter.
When directConnection=true , all operations are run on the host specified in the connection URI.
Connect Using TLS
To connect to a deployment using TLS, you can either:
- Use the DNS Seedlist Connection Format . The +srv connection string modifier automatically sets the tls option to true for the connection. For example, to connect to a DNS seedlist-defined replica set with tls enabled, run the following command:
mongosh "mongodb+srv://server.example.com/"
Установка и подключение к MongoDB
Обновлено: 19.05.2023 Опубликовано: 17.04.2021
Используемые термины: MongoDB, Ubuntu. В данной инструкции мы рассмотрим процесс установки MongoDB на Linux Ubuntu (Debian). Также будут приведены примеры настройки подключения по сети, защита соединения с помощью шифрования и аутентификации.
Установка
На странице MongoDB Community Downloads смотрим стабильные версии программного продукта. На момент обновления инструкции это была 4.4.
Обратите внимание, установка MongoDB возможна на большое число популярных операционных систем — Amazon, Debian, Ubuntu, macOS, CentOS, Red Hat, Windows и другие.
Переходим на страницу загрузки ключей для проверки подлинности репозитория. Копируем ссылку для версии MongoDB, которую мы планируем установить: * в данном примере мы скопировали ссылку на ключ для версии 4.4. Обратите внимание, что также есть возможность загрузки ключей для более свежих и менее стабильных версий. С помощью скопированной ссылки скачиваем и устанавливаем ключ:
- jammy: 22.04.
- focal: 20.04.
- bionic: 18.04.
- xenial: 16.04.
Посмотреть кодовое название для вашей системы можно командой:
Установка и настройка MongoDB на CentOS
Опубликовано: 13.02.2023
Используемые термины: MongoDB, CentOS, Rocky Linux. В данной инструкции мы рассмотрим процесс установки MongoDB на Linux CentOS (Rocky Linux). Также будут приведены примеры настройки подключения по сети, защита соединения с помощью шифрования и аутентификации.
Установка
На странице MongoDB Community Downloads смотрим стабильные версии программного продукта. На момент обновления инструкции это была 6.0.4.
- Intel — Sandy Bridge (второе поколение Core i3, i5, i7) или Tiger Lake (поздние Celeron и Pentium). Выпускаются с 2009 года.
- AMD — Bulldozer (линейка FX и Opteron). Выпускаются с 2011 года.
При попытке запустить MongoDB на компьютерах, процессоры которых не соответствуют данным требованиям мы получим ошибку trap invalid opcode.
Если мы столкнулись с данной проблемой, устанавливаем Mongo версии 4.4 или меняем процессор.
Создаем файл для настройки репозитория:
[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
* обратите внимание, что в зависимости от устанавливаемой версии mongodb мы должны указать ее версию в директивах baseurl и gpgkey.
Стартуем сервис и разрешаем его автозапуск:
Для подключения к СУБД вводим команду:
Можно для проверки ввести команду, которая покажет созданные базы данных:
После первой установки мы должны увидеть следующее:
admin 0.000GB
config 0.000GB
local 0.000GB
В качестве примера работы мы можем попробовать создать новую базу данных и коллекцию. Объекты в MongoDB создаются автоматически при первом к ним обращении.
Для создания базы просто обращается к ней:
* в данном примере будут создана база newDB.
Для создания коллекции, выполняем команду на вставку данных:
Доступ по сети
По умолчанию к установленной базе можно подключиться только с локального компьютера. Рассмотрим процесс настройки сетевого доступа.
Для начала, откроем порт в брандмауэре:
firewall-cmd —add-port=27017/tcp —permanent
* по умолчанию, MongoDB работает на TCP-порту 27017.
Открываем конфигурационный файл СУБД:
Находим директиву net и в ней опцию bindIp — добавляем IP-адрес, на котором наш сервер должен принимать запросы для MongoDB:
net:
port: 27017
bindIp: 127.0.0.1, 192.168.1.15
* в нашем примере мы добавили к 127.0.0.1 адрес 192.168.1.15 — это сетевой адрес нашего сервера, на котором он должен принимать запросы.
Перезапускаем сервис mongod:
Чтобы проверить подключение, на другом компьютере должен быть установлен клиент для подключения к Mongo. Процесс его установки схож с установкой сервера. Рассмотрим пример для CentOS.
Сначала настраиваем репозиторий, как было рассказано выше.
И устанавливаем клиентскую часть:
yum install mongodb-org-shell
Теперь можно подключиться к нашему серверу:
* в данном примере мы подключаемся к серверу MongoDB 192.168.1.15.
Также мы можем использовать MongoDB Compass — это приложение под Windows, Linux и macOS для работы с базой Mongo в графическом интерфейсе. Скачать его можно на странице официального сайта.
Аутентификация
По умолчанию, мы можем подключиться к СУБД без авторизации. Если нам необходимо повысить безопасность работы с базой, можно требовать ввода логина и пароля.
Заходим в командную оболочку Mongo:
Подключаемся к базе admin:
Создаем пользователя, под которым будем авторизовываться:
* в данном примере мы создадим пользователя с административными правами. Логин root, пароль будет запрошен после ввода.
Придумываем и вводим пароль
После создания пользователя мы должны увидеть, примерно, следующую картину:
Successfully added user: «user» : «root»,
«roles» : [
«role» : «userAdminAnyDatabase»,
«db» : «admin»
>,
«readWriteAnyDatabase»
]
>
Чтобы создать пользователя с доступом к определенной базе, подключаемся к ней:
* мы создадим пользователя dmosk с полными правами на базу newDB.
Для просмотра списка созданных пользователей нужно подключиться к базе admin и выполнить запрос find:
Выходим из командной оболочки: