lunes, 21 de agosto de 2017

Crear y borrar usuarios en MongoDB

Para este tutorial básico vamos a aprender a crear y borrar usuarios en MongoDB. La instalación base provee el acceso a la base de datos usando el comando mongo a través de la linea de comandos del terminal sin autenticación. Vamos a enseñar a crear usuarios con propiedades de autenticación. Sacado del manual en ingles de https://tecadmin.net/create-drop-users-in-mongodb/

Crear usuario Admin

Puedes usar el comando para crear el usuario admin con privilegios en su servidor mongoDB.
$ mongo

> use admin

> db.createUser(
     {
       user:"administrador",
       pwd:"4dm1n1str4d0r",
       roles:[{role:"root",db:"admin"}]
     }
  )

> exit
Ahora vamos a conectarnos con el usuario creado con las credenciales a través de la consola, este le pedirá la clave creada en el paso anterior.
$ mongo -u administrador -p  --authenticationDatabase admin

Agregar usuarios sin roles de administrador

Podemos crear usuarios que no tenga privilegios administrativos, solo que puedan leer o escribir en la base de datos. Se puede especificar niveles de acceso para los usuarios en la base de datos. Por ejemplo podemos crear un usuario con acceso de lectura/escritura en la base de datos mydb.
$mongo

> use mydb

> db.createUser(
    {
      user: "luis",
      pwd: "123456",
      roles: ["readWrite"]
    }
 ) 

> exit
Verificar el uso de la autenticación usar los siguientes comandos. El resultado1 significa autenticación completa.
$mongo

> use mydb

> db.auth('luis','123456')
Listar todos los usuarios de la base de datos, use el siguiente comando
> db.getUsers()

Eliminar un Usuario de una Base de datos

Para eliminar un usuario de la base de datos usar el siguiente comando.
> use mydb

> db.dropUser('luis')
Agredeciendo su atención y esperar ayudar en este mundo tecnológico y avanzar al paso de estas tecnología.

Instalar Mongodb 3.4 en debian

MongoDB es un sistema de base de datos NoSQL orientado a documentos, desarrollado bajo el concepto de código abierto. MongoDB forma parte de la nueva familia de sistemas de base de datos NoSQL.  según "Wikipedia".

El sistema MongoDB es un completo y flexible queries database. Mongodb es una base de datos  NoSQL. MongoDB permite grandes volumenes de datos, especiealmente para almacenar media, documentos y demás con GridFS. 
install mongodb
Este tutorial está basado en la instalación de MongoDB 3.4 en Debian 8 y 7, es una traducción casi literal de la página https://tecadmin.net/install-mongodb-on-ubuntu/.

Agregar el repositorio al sistema

Primero debemos importar la clave publica de MongoDB al sistema de repositorios de debian usando el siguente comando, este no es obligatorio sino puede ejecutar este comando omitalo y continue. Recordar que debe ejecutar los comandos con el usuario root.
$ apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Ahora agregar el APT repositorio a la siguiente ruta /etc/apt/sources.list.d/mongodb-3.4.list ó hacerlo de la manera habitual de copiar el url y pegarlo en el archivo /etc/apt/source.list. 
$ echo "deb http://repo.mongodb.org/apt/debian "$(lsb_release -sc)"/mongodb-org/3.4 main" |  tee /etc/apt/sources.list.d/mongodb-3.4.list

Instalar MongoDB

Ahora usamos el siguiente comando para instalar MongoDB en el sistema operativo. Instalará las dependencia de MongoDB.
$ apt-get update ó aptitude update (recomendado)
$ apt-get install mongodb-org ó aptitude install mongodb-org(recomendado) ó apt install mongodb-org
Si se requiere instalar una versión especifica de MontoDB, define la versión del numero.
$ apt-get install mongodb-org=3.4.1 mongodb-org-server=3.4.1 mongodb-org-shell=3.4.1 mongodb-org-mongos=3.4.1 mongodb-org-tools=3.4.10

Iniciar el servicio de MongoDB

Después de la instalación, MongoDB se inicia automaticamente. Para iniciar o parar el servicio de MongoDB use los scripts de inicio de la siguiente manera.
$ service mongod start 
$ service mongod stop

Verificar la instalación de MongoDB

Use el siguiente comando para verificar la versión y que la instalación terminó exitosamente.
$ mongod --version 

db version v3.4.7
git version: cf38c1b8a0a8dca4a11737581beafef4fe120bcd
OpenSSL version: OpenSSL 1.0.1t  3 May 2016
allocator: tcmalloc
modules: none
build environment:
    distmod: debian81
    distarch: x86_64
    target_arch: x86_64

También puede conectarse a MongoDB usando el comando y ejecutar lo siguiente para probar que trabaja bien.
$ mongo

> use mydb;

> db.test.save( { tecadmin: 100 } )

> db.test.find()

  { "_id" : ObjectId("599b22ac429afb5650c9f2da"), "tecadmin" : 100 }
Espero sea de gran ayuda para los que inician en el sistema de Mongodb y para todo aquel que requiera información.

Muchas gracias y a seguir aportando.