Instale MongoDB 4.x sin conexión en Linux

Instale MongoDB 4.4.4 sin conexión en Linux

0. Prefacio

Versión: Centos7 + MongoDB 4.4.4

Sitio web oficial: https://www.mongodb.com/

La configuración de instalación de este artículo es单个机器单个实例

Si instala 单个机器多个实例o 多台机器集群, este artículo es solo para referencia.

1. Descarga

Haga clic aquí para descargar la versión personalizada o haga clic aquí para descargar

version:4.4.4

Platform:RedHat / CentOS 7.0

Package:tgz

2. Instalación y configuración

Subir a linux

Después de la descompresión, mueva la ubicación de almacenamiento del archivo y cámbiele el nombre

tar -zxvf mongodb-linux-x86_64-rhel70-4.4.4.tgz

mv mongodb-linux-x86_64-rhel70-4.4.4 /usr/local/mongodb

Agregar archivo de configuración

cd /usr/local/mongodb/

vi mongodb.conf

El siguiente es el contenido del archivo de configuración 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

Luego cree el directorio del archivo de datos y el archivo de registro configurado en el archivo de configuración mongodb.conf

mkdir -p /usr/local/mongodb/data/db
mkdir -p /usr/local/mongodb/logs
touch /usr/local/mongodb/logs/mongodb.log

3. Configurar variables de entorno

vi /etc/profile 

Luego agregue lo siguiente

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

Realice los cambios que acaba de hacer efectivos de inmediato

source /etc/profile

4. Inicie el servicio mongo

mongod -f /usr/local/mongodb/mongodb.conf

El inicio exitoso es el siguiente

[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. Conéctese al cliente de mongo

#未开启认证
mongo
#开启认证使用账号密码连接
mongo -u admin -p admin

La conexión es exitosa de la siguiente manera

[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()
---
> 

También puede ps -ef | grep mongoverificar si el proceso se inició, la visualización de dos es el inicio

6. Apague el servicio Mongo

mongod --dbpath /usr/local/mongodb/data/db --logpath /usr/local/mongodb/logs/mongodb.log --shutdown

o

rs:PRIMARY> use admin
rs:PRIMARY> db.shutdownServer()
#退出后即关闭

7. Crear usuario [recomendación]

# 切换到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")

Se debe crear una 管理员账号. Después de crear la cuenta, debe mongodb.confhabilitar la autenticación de autenticación en el archivo de configuración y luego reiniciar el mongoservicio.

Después de reiniciar, debe iniciar sesión en el cliente a través de la cuenta de administrador y la contraseña que acaba de crear; de lo contrario, el show dbscomando no puede ver ninguna base de datos porque no tiene permiso.

El formato de conexión del cliente es:mongo -u 账号 --authenticationDatabase 数据库名 -p 密码

--authenticationDatabase 数据库名 Opcional

mongo -u admin --authenticationDatabase admin -p admin
mongo -u admin -p admin

papel:

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. Agregue un conjunto de réplicas y un archivo de claves [opcional]

(1) Genere un archivo de claves que almacene información de autenticación

Al mismo tiempo, la autenticación de autenticación y el conjunto de réplicas requieren un archivo de claves. Si no está configurado, se informará un error al iniciar: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 usa solo un nodo para habilitar el conjunto de réplicas en MongoDB

Modifique el archivo de configuración para agregar información del conjunto de réplicas e información de ubicación del archivo de claves

cd /usr/local/mongodb/

vi mongodb.conf

El siguiente es el contenido del archivo de configuración 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) Reinicie el servicio mongo

mongod --dbpath /usr/local/mongodb/data/db --logpath /usr/local/mongodb/logs/mongodb.log --shutdown

mongod -f /usr/local/mongodb/mongodb.conf

(4) Utilice el siguiente comando para inicializar el conjunto de réplicas rs.initiate ()

Inicie sesión en el shell de MongoDB y ejecute el comandors.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> 

Ver información del conjunto de réplicas

rs.status()

Hasta ahora completo.

9. Herramientas de visualización

Haga clic en NoSQLBooster para MongoDB para descargar la herramienta. Algunas funciones de esta herramienta son gratuitas durante 30 días.

Como conectar:

Al usar esta herramienta para conectarse a MongoDB

Si la configuración de MongoDB no requiere autenticación de contraseña, solo directamente Conexiones-> Crear-> Básico-> Ingrese la ip y el puerto en el Servidor-> Haga clic en Probar conexión-> Si aparece un ok verde, tendrá éxito, y una fuente roja informará un error y fallará (el motivo del error es posible Hay un error en la ip o el puerto ) -> Después de que la conexión sea exitosa, haga clic en Guardar y conectar -> Finalizar

Si la configuración de MongoDB requiere autenticación de contraseña, es decir, el archivo de configuración está configurado auth = true, luego Conexiones-> Crear-> Básico-> Ingrese la ip y el puerto en el Servidor-> Haga clic en Autenticación-> Modo para seleccionar Básico (Nombre de usuario / Contraseña) , Auth DB agrega el nombre de la base de datos, el nombre de usuario agrega el nombre de la cuenta, la contraseña ingresa la contraseña -> haga clic en Probar conexión -> si aparece el ok verde, tendrá éxito, y la fuente roja informará un error, entonces fallará - > después de que la conexión sea exitosa, haga clic en Guardar y conectar -> Finalizar

(El motivo de la falla puede ser un error en el puerto IP o un error en la contraseña de la cuenta de la base de datos. Si aún no puede conectarse después de que todas las comprobaciones son correctas, debe verificar si está configurado en el archivo de configuración auth = truey luego cerrar desactive el servicio mongo y reinícielo. Después de comenzar, pase la cuenta en la ventana negra Contraseña para conectarse al cliente mongo, vuelva a crear la contraseña de la cuenta y use la contraseña de la cuenta recién creada para conectarse en la herramienta)

Si el servidor de Alibaba Cloud no se puede conectar, es posible que Cloud Shield lo bloquee. Configure la lista blanca: haga clic aquí

O cambia el punto de acceso del teléfono para probar

Supongo que te gusta

Origin blog.csdn.net/qq_43853055/article/details/114379405
Recomendado
Clasificación