Установка MongoDB на Linux

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

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

Red Hat/CentOS:

sudo yum install libcurl openssl

Ubuntu 18.04 LTS ("Bionic")/Debian 10 "Buster":

sudo apt-get install libcurl4 openssl

Ubuntu 16.04 LTS ("Xenial")/Debian 9 "Stretch":

sudo apt-get install libcurl3 openssl

Адрес загрузки исходного кода MongoDB:https://www.mongodb.com/try/download/community

Здесь мы выбираем загрузку tgz. После загрузки пакета распакуйте егоtgz(Далее демонстрируется установка на 64-битном Linux).

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz    # 下载
tar -zxvf mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz                                # 解压

mv mongodb-linux-x86_64-ubuntu1604-4.2.8  /usr/local/mongodb4                      # 将解压包拷贝到指定目录

Исполняемые файлы MongoDB находятся в каталоге bin, поэтому вы можете добавить его вPATHPATH, чтобы вы могли выполнять команды MongoDB в любом каталоге, не переключаясь каждый раз в каталог установки:

export PATH=<mongodb-install-directory>/bin:$PATH

<mongodb-install-directory>— это путь установки MongoDB. Например, в этой статье,/usr/local/mongodb4 。

export PATH=/usr/local/mongodb4/bin:$PATH

Примечание: приведённая выше команда export действует только в текущем сеансе терминала и станет недействительной после закрытия терминала. Чтобы сделать её постоянной, добавьте эту команду в~/.bashrcили~/.profileфайл, затем выполнитеsource ~/.bashrcчтобы это вступило в силу немедленно.



Создайте каталог базы данных

По умолчанию MongoDB инициализирует следующие два каталога после запуска:

  • Каталог хранения данных: /var/lib/mongodb
  • Каталог файлов журнала: /var/log/mongodb

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

sudo mkdir -p /var/lib/mongodb
sudo mkdir -p /var/log/mongodb
sudo chown `whoami` /var/lib/mongodb     # 设置权限,whoami 会自动替换为当前登录的用户名
sudo chown `whoami` /var/log/mongodb     # 设置权限

Далее запустите службу MongoDB:

mongod --dbpath /var/lib/mongodb --logpath /var/log/mongodb/mongod.log --fork

Описание параметра:

  • --dbpath: указывает каталог хранения файлов базы данных
  • --logpath: указывает путь к файлу журнала (примечание: это путь к файлу, а не каталог)
  • --fork: заставляет MongoDB работать в фоновом режиме (т. е. запускаться как процесс-демон). Без этого параметра она будет занимать текущий терминал

Откройте файл /var/log/mongodb/mongod.log и увидите следующую информацию, указывающую на успешный запуск.

tail -10f /var/log/mongodb/mongod.log
2020-07-09T12:20:17.391+0800 I  NETWORK  [listener] Listening on /tmp/mongodb-27017.sock
2020-07-09T12:20:17.392+0800 I  NETWORK  [listener] Listening on 127.0.0.1
2020-07-09T12:20:17.392+0800 I  NETWORK  [listener] waiting for connections on port 27017


Оболочка управления MongoDB в фоновом режиме

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

Если вам нужно войти в фоновое управление MongoDB, сначала нужно открыть каталог bin в каталоге установки MongoDB, а затем выполнить командный файл mongo.

MongoDB Shell — это интерактивная оболочка JavaScript, поставляемая с MongoDB, интерактивная среда для работы с MongoDB и управления ею.

Когда вы входите в фоновый режим MongoDB, она по умолчанию подключается к базе данных test:

$ cd /usr/local/mongodb4/bin
$ ./mongo
MongoDB shell version v4.2.8
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("2cfdafc4-dd56-4cfc-933a-187b887119b3") }
MongoDB server version: 4.2.8
Welcome to the MongoDB shell.
……

Поскольку это оболочка JavaScript, вы можете выполнять некоторые простые арифметические операции:

> 2+2
4
> 3+6
9

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

> db.example.insert({x:10})
WriteResult({ "nInserted" : 1 })
> db.example.find()
{ "_id" : ObjectId("5f069bdb4e02f8baf90f1184"), "x" : 10 }
> 

Первая команда вставляет число 10 в поле x коллекции example.

Чтобы остановить MongoDB, можно использовать следующую команду:
mongod --dbpath /var/lib/mongodb --logpath /var/log/mongodb/mongod.log --shutdown

Вы также можете сделать это в командной строке mongo:

> use admin
switched to db admin
> db.shutdownServer()

Для других способов установки обратитесь к официальному сайту:https://docs.mongodb.com/manual/administration/install-on-linux/

Другие расширения