Установите и установите пароль под MongoDB linux

MongoDB

Создайте файл .repo для создания источника mongodb.

vi /etc/yum.repos.d/mongodb-org-4.0.repo

Добавить информацию о конфигурации

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

Установить

выберите загрузку

  • самая стабильная версияsudo yum install -y mongodb-org

  • указанная версияsudo yum install -y mongodb-org-4.0.11 mongodb-org-server-4.0.11 mongodb-org-shell-4.0.11 mongodb-org-mongos-4.0.11 mongodb-org-tools-4.0.11

  • Не обновлять версиюexclude = mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools

Проверить установку

rpm -qa |grep mongodb rpm -ql mongodb-org-server

запускать

запустить службуsystemctl start mongod.service

открытый портnetstat -natp | grep 27017

Посмотреть прогрессps -aux | grep mongod

проверятьmongo

Общие команды

// 1、开启MongoDB
sudo service mongod start  或者 systemctl start mongod.service  # 开启MongoDB
sudo chkconfig mongod on  # 加入开机启动
sudo service mongod restart # 重启MongoDB

// 2、关闭MongoDB
sudo service mongod stop  # 关闭防火墙

// 3、卸载MongoDB
sudo yum erase $(rpm -qa | grep mongodb-org)    # 卸载MongoDB
sudo rm -r /var/log/mongodb  # 删除日志文件
sudo rm -r /var/lib/mongo    # 删除数据文件

Удаленное подключение

1. Изменить конфигурацию

vi /etc/mongod.conf

# network interfaces
net:
  port: 27017
  # 127.0.0.1仅能主机连接,需改成0.0.0.0
  bindIp: 0.0.0.0  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.

2. Перезагрузить

sudo service mongod restart

3. Открытые порты

systemctl status firewalld  # 查看防火墙状态
firewall-cmd --zone=public --add-port=27017/tcp --permanent # mongodb默认端口号
firewall-cmd --reload  # 重新加载防火墙

firewall-cmd --zone=public --query-port=27017/tcp # 查看端口号是否开放成功,输出yes开放成功,no则失败

4. Удаленное подключение

mongo your server address:27017

Установка пароля

1 (создать) войти в базу данных администратора

use admin

2. Создайте учетную запись администратора

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

3. Тест

db.auto('root','123456')вернуть1верно

4. Включить проверку

sudo vi /etc/mongod.confИсправлять#security:для

security:
  authorization: enabled

5. Перезапустите службу

sudo service mongod restart

6. Протестируйте базу данных администратора

mongoв базу данных,use adminПереключитесь на базу данных администратора и запуститеshow usersБудет сообщено об ошибке, поскольку вы не подтвердили свою личность, вам необходимо сначала подтвердитьdb.auth('root','123456'), беги сноваshow usersОтображается ожидаемая информация.

7. Создайте дополнительные пароли к базе данных

Первая потребностьuse adminПереключиться на аутентификацию администратораdb.auth('root','123456'), Переключиться на базу данных TESTuse test, то есть создание пользовательских разрешений в соответствующей базе данных может быть успешным. Здесь создайте пользователя с разрешениями на чтение-запись, создание-удаление для тестовой базы данных и разрешениями только на чтение для других баз данных.db.createUser({user:'test',pwd:'test',roles:[{role:'readWrite',db:'test'},{role:'dbAdmin',db:'test'},'read']})

8. Протестируйте другие базы данных

exitВыйдите из данных, а затем снова введитеmongo,use testВойдите в тестовую базу данных,show collectionsПри попытке запроса коллекции сообщается об ошибке.db.auth('test','test')Проверьте вход, запросите коллекцию сноваshow collections, об ошибке не сообщается (при отсутствии коллекции информация отображаться не будет).

9. Проверьте удаленное соединение

mongo your server address:27017/test, проверьте разрешения, метод такой же, как в шаге 8.

10. Готово~~

таблица ролей

Классификация роль Короткое описание
Роли пользователей БД read readWrite Создайте пользователя для базы данных и назначьте права на чтение и запись в базу данных.
Роли администратора БД dbAdmin dbOwner userAdmin Имеет право создавать базы данных и создавать пользователей
Административные роли Калстера clusterAdmin clusterManager clusterMonitor hostManager Группа администраторов, управляет всей системой
Роли резервного копирования и восстановления backup restore резервное копирование базы данных, восстановление базы данных
Все роли базы данных readAnyDatabase readWriteAnyDatabase userAdminAnyDatabase dbAdminAnyDatabase Имеет права на административные операции
Роли суперпользователя root dbOwner userAdmin userAdminAnyDatabaseЭти роли предоставляют возможность иметь любые разрешения для любого пользователя на любые данные Пользователи с этой ролью могут определять свои собственные разрешения на любую базу данных

описание роли

  • Чтение: позволяет пользователю читать указанную базу данных.
  • readWrite: позволяет пользователям читать и записывать в указанную базу данных
  • dbAdmin: позволяет пользователям выполнять административные функции в указанной базе данных, такие как создание индекса, удаление, просмотр статистики или доступ к system.profile.
  • userAdmin: позволяет пользователям записывать в коллекцию system.users, а также может создавать, удалять и управлять пользователями в указанной базе данных.
  • clusterAdmin: доступен только в базе данных администратора, предоставляет пользователю административные привилегии для всех функций, связанных с набором сегментов и реплик.
  • readAnyDatabase: доступно только в базе данных администратора, что дает пользователю разрешение на чтение для всех баз данных.
  • readWriteAnyDatabase: доступно только в базе данных администратора, что дает пользователю права на чтение и запись для всех баз данных.
  • userAdminAnyDatabase: доступен только в базе данных администратора, предоставляя пользователю права userAdmin для всех баз данных.
  • dbAdminAnyDatabase: доступен только в базе данных администратора, предоставляя пользователю привилегии dbAdmin для всех баз данных.
  • root: доступен только в базе данных администратора. супер аккаунт, супер полномочия

ролевая операция

Методы управления пользователями — Руководство по MongoDB