Установите MongoDB 4.4.4 в автономном режиме в Linux
0. Предисловие
Версия: Centos7 + MongoDB 4.4.4
Официальный сайт: https://www.mongodb.com/
Конфигурация установки в этой статье
单个机器单个实例
Если вы устанавливаете
单个机器多个实例
или多台机器集群
, эта статья предназначена только для справки.
1. Скачать
Щелкните здесь, чтобы загрузить настроенную версию, или щелкните здесь, чтобы загрузить
version:4.4.4
Platform:RedHat / CentOS 7.0
Package:tgz
2. Установка и настройка
Загрузить в linux
После распаковки переместите место хранения файла и переименуйте его.
tar -zxvf mongodb-linux-x86_64-rhel70-4.4.4.tgz
mv mongodb-linux-x86_64-rhel70-4.4.4 /usr/local/mongodb
Добавить файл конфигурации
cd /usr/local/mongodb/
vi mongodb.conf
Ниже приводится содержимое файла конфигурации mongodb.conf.
#数据文件存放目录
dbpath = /usr/local/mongodb/data/db
#日志文件存放目录
logpath = /usr/local/mongodb/logs/mongodb.log
#默认端口27017
port = 27017
#以守护程序的方式启用,即在后台运行
fork = true
#允许远程连接,127.0.0.1只允许本地连接
bind_ip=0.0.0.0
#是否需要认证,如果启用,则需要创建mongodb账号密码,使用账号密码才可以远程访问
#auth = true
Затем создайте каталог файлов данных и файл журнала, настроенный в файле конфигурации mongodb.conf.
mkdir -p /usr/local/mongodb/data/db
mkdir -p /usr/local/mongodb/logs
touch /usr/local/mongodb/logs/mongodb.log
3. Настройте переменные среды.
vi /etc/profile
Затем добавьте следующие
export PATH=$PATH:/usr/local/mongodb/bin
Немедленно внесите изменения, которые вы только что внесли, в силу
source /etc/profile
4. Запустите сервис mongo.
mongod -f /usr/local/mongodb/mongodb.conf
Успешный стартап выглядит следующим образом
[root@iZbp185opgs9ov4aretwdxZ ~]# mongod -f /usr/local/mongodb/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 11622
child process started successfully, parent exiting
5. Подключитесь к клиенту mongo.
#未开启认证
mongo
#开启认证使用账号密码连接
mongo -u admin -p admin
Подключение выполнено успешно следующим образом
[root@iZbp185opgs9ov4aretwdxZ ~]# mongo
MongoDB shell version v4.4.4
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session {
"id" : UUID("14909903-578d-4023-83cd-dec9703c904e") }
MongoDB server version: 4.4.4
---
The server generated these startup warnings when booting:
2021-03-04T15:00:41.842+08:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
2021-03-04T15:00:42.732+08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
2021-03-04T15:00:42.732+08:00: You are running this process as the root user, which is not recommended
2021-03-04T15:00:42.732+08:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'
2021-03-04T15:00:42.732+08:00: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. We suggest setting it to 'never'
---
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).
The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.
To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
>
Вы также можете
ps -ef | grep mongo
проверить, запущен ли процесс, отображение двух - это начало
6. Выключите сервис mongo.
mongod --dbpath /usr/local/mongodb/data/db --logpath /usr/local/mongodb/logs/mongodb.log --shutdown
или же
rs:PRIMARY> use admin
rs:PRIMARY> db.shutdownServer()
#退出后即关闭
7. Создайте пользователя [рекомендация]
# 切换到admin数据库
use admin
# 使用db.createUser() 创建一个管理员用户admin,角色为root,指定具体数据库
db.createUser({
user:'admin',pwd:'admin',roles:[{
role:'root',db:'admin'}]})
# db.auth()认证一下获取权限,认证通过后可以操作数据库,成功则会输出1
db.auth("admin","admin")
# use 命令也可以是创建数据库,当指定数据库不存在时即为创建,切换到一个新的数据库xtest
use xtest
# 创建用户xtest dbOwner权限
db.createUser({
user:'xtest',pwd:'xtest',roles:['dbOwner']})
# 查看有哪儿些用户
show users
# 删除用户
db.dropUser("user_name")
Один должен быть создан.После
管理员账号
создания учетной записи вам необходимоmongodb.conf
включить аутентификацию аутентификации в файле конфигурации , а затем перезапуститьmongo
службу.После перезапуска вам необходимо войти в клиент, используя только что созданную учетную запись администратора и пароль, в противном случае
show dbs
команда не сможет просмотреть никакую базу данных, потому что у вас нет разрешения.
Формат клиентского подключения:
mongo -u 账号 --authenticationDatabase 数据库名 -p 密码
--authenticationDatabase 数据库名
По желанию
mongo -u admin --authenticationDatabase admin -p admin
mongo -u admin -p admin
роль:
read 允许用户读取指定数据库
readWrite 允许用户读写指定数据库
dbAdmin 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
dbOwner 数据库拥有者,包含readWrite、dbAdmin、userAdmin
userAdmin 允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin 只能切换在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase 只能切换在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase 只能切换在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase 只能切换在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase 只能切换在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root 只能切换在admin数据库中可用。超级账号,超级权限
8. Добавьте набор реплик и файл ключевого файла [необязательно]
(1) Создайте файл ключевого файла, в котором хранится информация аутентификации.
В то же время для аутентификации auth и набора реплик требуется файл ключевого файла. Если он не настроен, при запуске будет выдана ошибка:BadValue: security.keyFile is required when authorization is enabled with replica sets
cd /usr/local/mongodb/data/db
openssl rand -base64 741 > mongodb.key
#修改权限,不修改之后启动时会报错
chmod 400 mongodb.key
(2) MongoDB использует только один узел для включения набора реплик в MongoDB.
Измените файл конфигурации, чтобы добавить информацию о наборе реплик и информацию о местоположении ключевого файла.
cd /usr/local/mongodb/
vi mongodb.conf
Ниже приводится содержимое файла конфигурации mongodb.conf.
#数据文件存放目录
dbpath = /usr/local/mongodb/data/db
#日志文件存放目录
logpath = /usr/local/mongodb/logs/mongodb.log
#默认端口27017
port = 27017
#以守护程序的方式启用,即在后台运行
fork = true
#允许远程连接,127.0.0.1只允许本地连接
bind_ip=0.0.0.0
#是否需要认证,如果启用,则需要创建mongodb账号密码,使用账号密码才可以远程访问
auth = true
#副本集名称
replSet=rs
#存储身份信息的秘钥文件
keyFile=/usr/local/mongodb/data/db/mongodb.key
(3) Перезапустите службу mongo
mongod --dbpath /usr/local/mongodb/data/db --logpath /usr/local/mongodb/logs/mongodb.log --shutdown
mongod -f /usr/local/mongodb/mongodb.conf
(4) Используйте следующую команду для инициализации набора реплик rs.initiate ()
Войдите в оболочку MongoDB и выполните командуrs.initiate()
> rs.initiate()
{
"info2" : "no configuration specified. Using a default configuration for the set",
"me" : "iZbp185opgs9ov4aretwdxZ:27017",
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp(1615022835, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
},
"operationTime" : Timestamp(1615022835, 1)
}
rs:SECONDARY>
Просмотр информации о наборе реплик
rs.status()
Пока завершено.
9. Инструменты визуализации
Нажмите NoSQLBooster для MongoDB, чтобы загрузить инструмент. Некоторые функции этого инструмента бесплатны в течение 30 дней.
Как подключиться:
При использовании этого инструмента для подключения к MongoDB
Если настройка MongoDB не требует аутентификации по паролю, просто напрямую Connections-> Create-> Basic-> Введите IP-адрес и порт на сервере-> Нажмите Test Connecting-> Если появится зеленый ок, это будет успешно, а красный шрифт сообщит об ошибке и завершится ошибкой (возможна причина сбоя. Ошибка в ip или порте ) -> После успешного подключения нажмите Сохранить и подключить -> Готово
Если параметр MongoDB требует аутентификации по паролю, то есть установлен файл конфигурации
auth = true
, то Connections-> Create-> Basic-> Введите IP-адрес и порт в Server-> Нажмите Authentication-> Mode, чтобы выбрать Basic (имя пользователя / пароль). , Auth DB добавляет имя базы данных, Имя пользователя добавляет имя учетной записи, Пароль, введите пароль -> нажмите Test Connecting -> если появится зеленый ок, это будет успешно, а красный шрифт сообщит об ошибке, тогда он не удастся - > после успешного подключения нажмите «Сохранить и подключить» -> «Готово».( Причиной сбоя может быть ошибка в IP-порту или ошибка в пароле учетной записи базы данных. Если вы по-прежнему не можете подключиться после того, как все проверки верны, вы должны проверить, настроено ли это в файле конфигурации
auth = true
, а затем закрыть вниз службу mongo и перезапустите ее.После запуска передайте учетную запись в черном окне Пароль для подключения к клиенту mongo, повторно создайте пароль учетной записи и используйте вновь созданный пароль учетной записи для подключения в инструменте)
Если сервер Alibaba Cloud не может быть подключен, он может быть заблокирован Cloud Shield. Настройте белый список: нажмите здесь
Или измените точку доступа телефона, чтобы попробовать