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 mongo
verificar 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, debemongodb.conf
habilitar la autenticación de autenticación en el archivo de configuración y luego reiniciar elmongo
servicio.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 dbs
comando 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 = true
y 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