242
MongoDB es un popular sistema de gestión de bases de datos NoSQL de código abierto que proporciona una solución flexible y escalable para almacenar y gestionar datos. En este tutorial, lo guiaremos a través del proceso de instalación y configuración de MongoDB en Ubuntu 22.04, lo que le permitirá comenzar con este poderoso sistema de base de datos.
Requisitos
Antes de comenzar, asegúrese de tener lo siguiente:
- Un servidor Ubuntu 22.04.
- Una cuenta de usuario con sudo privilegios
Configurar el repositorio de MongoDB
El último paquete oficial de MongoDB no está disponible en los repositorios predeterminados de Ubuntu. Entonces, antes de que la administración del paquete APT pueda encontrarlo, debemos asegurarnos de que conozca el repositorio de MongoDB.
- En la terminal, ejecute este comando para importar la clave GPG pública de MongoDB.
Este comando descarga explícitamente la clave GPG para la versión 6.0. Si tiene la intención de descargar una versión diferente, reemplace el 6.0 parte de la URL y el archivo de destino con la versión específica.curl -fsSL https://pgp.mongodb.com/server-6.0.asc | \ sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg \ --dearmor
- A continuación, agregue el repositorio MongoDB para Ubuntu 22.04. Para hacerlo, ejecute este comando en la terminal:
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
- Actualice el índice del paquete local.
sudo apt update
El administrador de paquetes ahora conoce el repositorio de MongoDB.
Instalar MongoDB en Ubuntu
El repositorio de MongoDB se ha configurado y ahora podemos instalar MongoDB en Ubuntu 22.04. Ejecute los siguientes pasos para instalar MongoDB.
- Ejecute este comando para instalar el mongodb-org paquete:
sudo apt install mongodb-org
Cuando se le solicite continuar, presione Y y Enter.
- Una vez instalado, MongoDB (mongod) el estado predeterminado del daemon es deshabilitado. Lo que significa que no se ejecutará automáticamente. Ejecute los siguientes comandos para habilitar, iniciar y verificar el mongod demonio.
sudo systemctl enable mongod sudo systemctl start mongod sudo systemctl status mongod
- Por último, confirme que MongoDB escucha el puerto predeterminado 27017 en la dirección de bucle invertido:
sudo netstat -plntu
Como puede ver abajo, mongod está escuchando 127.0.0.1:27107.
Configurar MongoDB
Después de instalar con éxito MongoDB, debemos configurarlo para que se ajuste a nuestros requisitos. Exploremos el archivo de configuración de MongoDB proporcionado y comprendamos su configuración básica:
Configuración predeterminada de MongoDB
El archivo de configuración de MongoDB se encuentra en /etc/mongod.conf. Abra el archivo de configuración de MongoDB (/etc/mongod.conf) usando un editor de texto, y encontrará las siguientes configuraciones:
A continuación se muestra el desglose de cada sección de configuración.
- almacenamiento: esta sección configura los ajustes relacionados con el almacenamiento.
- dbPath: especifica el directorio donde MongoDB almacena sus archivos de datos. El valor predeterminado es /var/lib/mongo.
- registro del sistema: Esta sección define las opciones de registro del sistema MongoDB.
- destino: archivo especifica el destino de todos los resultados del registro. las opciones son archivo (predeterminado) y registro del sistema.
- camino: establece la ruta para el archivo de registro de MongoDB. La ruta predeterminada es /var/log/mongodb/mongod.log.
- logAppend: activa o desactiva la adición de mensajes de registro a un archivo de registro existente. Esta configuración acepta el valor booleano verdadero o FALSO. El valor predeterminado es verdadero.
- neto: Esta sección controla la configuración relacionada con la red.
- enlazar IP: especifica la interfaz de red en la que MongoDB solo escuchará. MongoDB solo escucha en la interfaz de loopback local (servidor local) por defecto.
- puerto: establece el puerto MongoDB. El valor predeterminado es 27017.
- gestión de proceso: Esta sección define las opciones de gestión de procesos.
- información de la zona horaria: especifica la ruta completa de la base de datos de zona horaria. La ruta de la base de datos de zona horaria predeterminada es /usr/share/zoneinfo.
Configuración personalizada de MongoDB
Para la mayoría de las implementaciones independientes de MongoDB, la configuración básica es suficiente. Pero hay muchas configuraciones personalizadas que puede implementar según sus requisitos. Éstos son algunos de ellos.
Ypuedes encontrar todo opciones del archivo de configuración en la documentación oficial de MongoDB.
- Control de acceso basado en roles — Esta configuración está controlada por seguridad.autorización. De forma predeterminada, esta configuración está deshabilitada, lo que significa que los usuarios pueden acceder a cualquier base de datos. Para habilitar esta configuración, agregue la siguiente entrada en el archivo de configuración.
- seguridad:
autorización: cierto - Tamaño de caché de WiredTiger — WiredTiger es el motor de almacenamiento predeterminado de MongoDB. De forma predeterminada, WiredTiger utilizará el 50 % de la RAM o 256 MB, lo que sea mayor, para su caché interna.
- Por ejemplo, para una computadora con 8 GB de RAM, el caché máximo de WiredTiger es 3,5GB.
- (8 GB – 1 GB) * 0,5 = 3,5 GB
- En una computadora con solo 1.25 GB, el caché máximo de WiredTiger es 256 MB porque es más alto que el siguiente resultado.
- (1,25 GB – 1 GB) * 0,5 = 125 MB < 256 MB
- Si bien no se recomienda establecer el máximo Tamaño de caché de WiredTiger manualmentepuede modificarlo agregando el almacenamiento.wiredTiger.engineConfig.cacheSizeGB configuración. Por ejemplo, la siguiente directiva establece el tamaño máximo en 3 GB.
- almacenamiento:
motor:
tigre cableado:
configuración del motor:
tamaño de caché GB: 3
Nota. reiniciar el mongod servicio después de modificar la configuración de MongoDB.
Interactuar con MongoDB utilizando MongoDB Shell (mongosh)
MongoDB Shell está incluido en la instalación del servidor MongoDB. Le permite interactuar con MongoDB usando la herramienta de línea de comando llamada mongosh. MongoDB Shell es el nuevo shell para MongoDB 6.0. El legado Mongo Shell (mongo) quedó en desuso en MongoDB 5.0.
En las siguientes secciones, realizaremos algunas tareas iniciales utilizando MongoDB Shell.
Crear una nueva cuenta raíz de MongoDB
Puede conectarse a MongoDB ejecutando mogosh en el terminal por defecto.
En este punto, todavía no hay usuarios y el acceso no está restringido. Para confirmar, ejecute el mostrar usuarios dominio; el resultado estará vacío.
Para administrar MongoDB de manera efectiva, se recomienda crear una cuenta raíz dedicada. Siga estos pasos para crear una nueva cuenta raíz de MongoDB:
- Cambiar a la administración base de datos ejecutando el siguiente comando:
use admin
- Ahora, ejecuta el db.createUser() método. Este ejemplo crea un nuevo usuario llamado mongodba1 con el raíz acceso al rol.
db.createUser({ user: "mongodba1", pwd: "Hesitate#Geometry#Unvalued0", roles: [ { role: "root", db: "admin" } ] })
- Ejecute el comando show users para ver la lista de usuarios. Esta vez, el nuevo usuario, mongodba1debe figurar en la lista.
- Salga del shell MongoDB actual.
quit
- Conéctese al shell de MongoDB usando la nueva cuenta raíz:
mongosh -u <username> -p <password>
O puede soltar el -p
parte para que se le pida que escriba su contraseña. mongosh -u <username>
- Por último, ejecute la verificación del estado de la conexión:
db.runCommand({ connectionStatus: 1 })
El comando devuelve la información de autenticación y el estado de la conexión.
Crear una nueva base de datos
Con MongoDB instalado con éxito y el usuario root creado, creemos una nueva base de datos e insertemos algunos documentos. Siga estos pasos para realizar las operaciones.
- Primero, inspeccionemos las bases de datos actuales.
show dbs
Como puede ver, solo existen las bases de datos predeterminadas.
- No hay un comando «crear» dedicado para crear una base de datos desde cero. En cambio, el usar
El comando crea la base de datos si no existe. En este ejemplo, crearé el mascotasdb base de datos. use petsdb
El shell cambia automáticamente a la nueva base de datos.
- Ahora, vamos a insertar nuevos documentos en el mascotas recopilación. Puede pensar en una colección como la tabla de la base de datos y el documento como el registro:
db.pets.insertOne({ name: "Tobey", type: "Dog", age: 12 }) db.pets.insertOne({ name: "Riley", type: "Dog", age: 8 }) db.pets.insertOne({ name: "Tabetha", type: "Dog", age: 6 })
- Ahora puede enumerar todos los documentos de la colección de la siguiente manera:O puede consultar documentos específicos.
db.mascotas.find({“nombre”:”Tabetha”})
En caso de que se lo pregunte, el comando anterior es el equivalente de esta consulta SQL:
SELECCIONE * DE MASCOTAS DONDE nombre=’Tabetha’;
Conclusión
Siguiendo la guía paso a paso descrita en esta publicación de blog, puede garantizar una experiencia de instalación sin problemas y aprovechar las potentes funciones de MongoDB.
El proceso de instalación implicó agregar el repositorio oficial de MongoDB, actualizar la lista de paquetes e instalar MongoDB. Luego exploramos varias configuraciones para optimizar el rendimiento y la seguridad, incluida la vinculación a una dirección IP específica, la habilitación de la autenticación y la configuración de una contraseña segura.
Con MongoDB correctamente instalado y configurado, los desarrolladores, administradores de sistemas y organizaciones obtienen una solución de base de datos NoSQL robusta y escalable. Ahora, armado con el conocimiento y las habilidades de esta publicación de blog, puede explorar con confianza las características de MongoDB y elevar sus proyectos a nuevas alturas.