Compartir a través de


Introducción a las bases de datos en el Subsistema de Windows para Linux

Esta guía paso a paso le ayudará a empezar a conectar el proyecto en WSL a una base de datos. Introducción a MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server o SQLite.

Prerrequisitos

Diferencias entre los sistemas de base de datos

Algunas opciones populares para un sistema de base de datos incluyen:

MySQL es una base de datos relacional sql de código abierto, que organiza datos en una o varias tablas en las que los tipos de datos pueden estar relacionados entre sí. Es escalable verticalmente, lo que significa que una máquina definitiva hará el trabajo por usted. Actualmente es el más utilizado de los cuatro sistemas de base de datos.

postgreSQL (a veces denominado Postgres) también es una base de datos relacional sql de código abierto con énfasis en la extensibilidad y el cumplimiento de estándares. Ahora también puede controlar JSON, pero generalmente es mejor para los datos estructurados, el escalado vertical y las necesidades compatibles con ACID, como el comercio electrónico y las transacciones financieras.

Microsoft SQL Server incluye SQL Server en Windows, SQL Server en Linux y SQL en Azure. Estos también son sistemas de administración de bases de datos relacionales configurados en servidores con la función principal de almacenar y recuperar datos según lo solicitado por las aplicaciones de software.

SQLite es una base de datos independiente de código abierto, basada en archivos, "sin servidor", conocida por su portabilidad, confiabilidad y buen rendimiento incluso en entornos de memoria baja.

de MongoDB es una base de datos de documentos NoSQL de código abierto diseñada para trabajar con JSON y almacenar datos sin esquemas. Es escalable horizontalmente, lo que significa que varias máquinas más pequeñas realizarán el trabajo por usted. Es bueno para la flexibilidad y los datos no estructurados, y el almacenamiento en caché de análisis en tiempo real.

Redis es un almacén de estructura de datos noSQL en memoria de código abierto. Usa pares clave-valor para el almacenamiento en lugar de documentos.

Instalación de MySQL

Para instalar MySQL en una distribución de Linux que se ejecuta en WSL, siga las instrucciones Instalación de MySQL en Linux en los documentos de MySQL. Es posible que deba habilitar primero la compatibilidad con el sistema en el archivo de configuración de wsl.conf.

Ejemplo de uso de la distribución de Ubuntu:

  1. Abra la línea de comandos de Ubuntu y actualice los paquetes disponibles: sudo apt update
  2. Una vez actualizados los paquetes, instale MySQL con: sudo apt install mysql-server
  3. Confirme la instalación y obtenga el número de versión: mysql --version
  4. Iniciar mySQL Server /comprobar el estado: systemctl status mysql
  5. Para abrir la consola de MySQL, escriba: sudo mysql
  6. Para ver qué bases de datos tiene disponibles, escriba lo siguiente en el símbolo del sistema MySQL: SHOW DATABASES;
  7. Para crear una base de datos, escriba: CREATE DATABASE database_name;
  8. Para eliminar una base de datos, escriba: DROP DATABASE database_name;

Para obtener más información sobre cómo trabajar con bases de datos MySQL, consulte los documentos de MySQL.

Para trabajar con bases de datos MySQL en VS Code, pruebe la extensión MySQL.

También puede que quiera ejecutar el script de seguridad incluido. Esto cambia algunas de las opciones predeterminadas menos seguras para cosas como inicios de sesión raíz remotos y usuarios de ejemplo. Este script también incluye pasos para cambiar la contraseña del usuario raíz de MySQL. Para ejecutar el script de seguridad:

  1. Iniciar un servidor MySQL: sudo service mysql start
  2. Inicie las indicaciones del script de seguridad: sudo mysql_secure_installation
  3. La primera pregunta preguntará si desea configurar validate PASSWORD COMPONENT, que se puede usar para probar la seguridad de la contraseña de MySQL. Si desea establecer una contraseña sencilla, no debe establecer este componente.
  4. Después, establecerá o cambiará la contraseña para el usuario raíz de MySQL, decidirá si desea quitar usuarios anónimos, decidir si quiere permitir que el usuario raíz inicie sesión tanto local como remotamente, decida si quitar la base de datos de prueba y, por último, decidir si desea volver a cargar las tablas de privilegios inmediatamente.

Instalación de PostgreSQL

Para instalar PostgreSQL en WSL (es decir, Ubuntu):

  1. Abra el terminal WSL (es decir, Ubuntu).
  2. Actualizar los paquetes de Ubuntu: sudo apt update
  3. Una vez actualizados los paquetes, instale PostgreSQL (y el paquete de -contrib que tiene algunas utilidades útiles) con: sudo apt install postgresql postgresql-contrib
  4. Confirme la instalación y obtenga el número de versión: psql --version

Hay 3 comandos que debe saber una vez instalado PostgreSQL:

  • sudo service postgresql status para comprobar el estado de la base de datos.
  • sudo service postgresql start para empezar a ejecutar la base de datos.
  • sudo service postgresql stop para detener la ejecución de tu base de datos.

El usuario administrador predeterminado, postgres, necesita una contraseña asignada para conectarse a una base de datos. Para establecer una contraseña:

  1. Escriba el comando: sudo passwd postgres
  2. Recibirá un mensaje para escribir la nueva contraseña.
  3. Cierre y vuelva a abrir el terminal.

Para ejecutar PostgreSQL con el shell psql:

  1. Inicie el servicio postgres: sudo service postgresql start
  2. Conéctese al servicio postgres y abra el shell de psql: sudo -u postgres psql

Una vez que haya accedido correctamente al shell de psql, verá que su línea de comando cambia para tener este aspecto: postgres=#

Nota

Como alternativa, puede abrir el shell de psql cambiando al usuario de Postgres con: su - postgres y después escribiendo el comando: psql.

Para salir de postgres=# escriba: \q o use la tecla de método abreviado: Ctrl+D

Para ver qué cuentas de usuario se han creado en la instalación de PostgreSQL, use desde el terminal WSL: psql --command="\du" ... o simplemente \du si tiene abierto el shell de psql. Este comando mostrará columnas: Nombre de usuario de la cuenta, Lista de atributos de roles y Miembro de grupos de roles. Para volver a la línea de comandos, escriba: q.

Para más información sobre cómo trabajar con bases de datos postgreSQL, consulte los documentos de PostgreSQL.

Para trabajar con bases de datos postgreSQL en VS Code, pruebe la extensión PostgreSQL.

Instalación de MongoDB

Para instalar MongoDB, consulte la documentación de Mongodb: Instalación de MongoDB Community Edition en Linux

La instalación de MongoDB puede requerir pasos ligeramente diferentes en función de la distribución de Linux que se usa para la instalación. Tenga en cuenta también que la instalación de MongoDB puede diferir en función de la versión # que quiere instalar. Utiliza la lista desplegable de versiones en la esquina superior izquierda de la documentación de MongoDB para seleccionar la versión que se alinea con tus objetivos. Por último, es posible que tenga que habilitar la compatibilidad con systemd en el archivo de configuración wsl.conf de la distribución de Linux que usa con WSL. El comando systemctl forma parte del sistema systemd init y puede que no funcione si la distribución usa systemv.

VS Code admite el trabajo con bases de datos de MongoDB a través de la extensión Azure CosmosDB, puede crear, administrar y consultar bases de datos de MongoDB desde VS Code. Para obtener más información, visite la documentación de VS Code: Trabajar con MongoDB.

Obtenga más información en los documentos de MongoDB:

Instalación de Microsoft SQL Server

Inicio rápido: Instalación de SQL Server y creación de una base de datos en el Subsistema de Windows para Linux (WSL 2).

Instalación de SQLite

Para instalar SQLite en WSL (es decir, Ubuntu):

  1. Abra el terminal WSL (es decir, Ubuntu).
  2. Actualizar los paquetes de Ubuntu: sudo apt update
  3. Una vez actualizados los paquetes, instale SQLite3 con: sudo apt install sqlite3
  4. Confirme la instalación y obtenga el número de versión: sqlite3 --version

Para crear una base de datos de prueba, denominada "example.db", escriba: sqlite3 example.db

Para ver una lista de las bases de datos de SQLite, escriba: .databases

Para ver el estado de la base de datos, escriba: .dbinfo ?DB?

La base de datos estará vacía después de la creación. Puede crear una nueva tabla para la base de datos con CREATE TABLE empty (kol INTEGER);.

Ahora, al escribir el .dbinfo ?DB? se mostrará la base de datos que ha creado.

Para salir del símbolo del sistema de SQLite, escriba: .exit

Para obtener más información sobre cómo trabajar con una base de datos SQLite, consulte los documentos de SQLite.

Para trabajar con bases de datos de SQLite en VS Code, pruebe la extensión SQLite.

Instalación de Redis

Para instalar Redis en WSL (es decir, Ubuntu):

  1. Abra el terminal WSL (es decir, Ubuntu).
  2. Actualizar los paquetes de Ubuntu: sudo apt update
  3. Una vez actualizados los paquetes, instale Redis con: sudo apt install redis-server
  4. Confirme la instalación y obtenga el número de versión: redis-server --version

Para empezar a ejecutar el servidor de Redis: sudo service redis-server start

Compruebe si redis funciona (redis-cli es la utilidad de interfaz de la línea de comandos para comunicarse con Redis): redis-cli ping debería devolver una respuesta de "PONG".

Para dejar de ejecutar el servidor de Redis: sudo service redis-server stop

Para obtener más información sobre cómo trabajar con una base de datos de Redis, consulte la documentación de Redis.

Para trabajar con bases de datos de Redis en VS Code, pruebe la extensión Redis.

Consulte los servicios que ejecutan y configuran alias de perfil.

Para ver los servicios que tiene actualmente en ejecución en la distribución de WSL, escriba: service --status-all

Escribir sudo service mongodb start o sudo service postgres start y sudo -u postgrest psql puede resultar tedioso. Sin embargo, podría considerar la posibilidad de configurar alias en el archivo .profile en WSL para que estos comandos sean más rápidos y fáciles de recordar.

Para configurar su propio alias personalizado, o atajo, para la ejecución de estos comandos:

  1. Abra el terminal WSL y escriba cd ~ para asegurarse de que está en el directorio raíz.

  2. Abra el archivo .profile, que controla la configuración del terminal, con el editor de texto del terminal, Nano: sudo nano .profile

  3. En la parte inferior del archivo (no cambie la configuración de # set PATH), agregue lo siguiente:

    # My Aliases
    alias start-pg='sudo service postgresql start'
    alias run-pg='sudo -u postgres psql'
    

    Esto le permitirá escribir start-pg para empezar a ejecutar el servicio postgresql y run-pg para abrir el shell de psql. Puede cambiar start-pg y run-pg a los nombres que quiera, tenga cuidado de no sobrescribir un comando que postgres ya usa.

  4. Una vez que haya agregado los nuevos alias, salga del editor de texto Nano mediante Ctrl+X- seleccione Y (Sí) cuando se le pida que guarde y Escriba (dejando el nombre de archivo como .profile).

  5. Cierre y vuelva a abrir el terminal WSL y pruebe los nuevos comandos de alias.

Solución de problemas

Error: argumento inválido de directory-sync fdatasync

Asegúrese de que ejecuta la distribución de Linux en modo WSL 2. Para obtener ayuda para cambiar de WSL 1 a WSL 2, consulte Establecer la versión de distribución en WSL 1 o WSL 2.

Recursos adicionales