Introdução aos bancos de dados no Subsistema do Windows para Linux

Este guia passo a passo ajudará você a começar a conectar seu projeto no WSL a um banco de dados. Introdução ao MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server ou SQLite.

Pré-requisitos

Diferenças entre sistemas de banco de dados

Algumas opções populares para um sistema de banco de dados incluem:

O MySQL é um banco de dados relacional SQL de código aberto que organiza os dados em uma ou mais tabelas nas quais os tipos de dados podem estar relacionados entre si. Ele é verticalmente escalonável, o que significa que um computador final fará o trabalho para você. Atualmente, ele é o mais usado dos quatro sistemas de banco de dados.

O PostgreSQL (às vezes chamado de Postgres) é também é um banco de dados relacional SQL de código aberto com ênfase em extensibilidade e conformidade com os padrões. Agora ele também pode tratar JSON, mas geralmente é melhor para dados estruturados, dimensionamento vertical e necessidades em conformidade com ACID, como comércio eletrônico e transações financeiras.

O Microsoft SQL Server inclui o SQL Server no Windows, o SQL Server em Linux e o SQL no Azure. Esses também são sistemas de gerenciamento de bancos de dados relacionais configurados em servidores com a função principal de armazenar e recuperar dados conforme solicitado pelos aplicativos de software.

O SQLite é um banco de dados independente de código aberto, baseado em arquivo, "sem servidor", conhecido por sua portabilidade, confiabilidade e bom desempenho, mesmo em ambientes de baixa memória.

O MongoDB é um banco de dados de documentos NoSQL de código aberto projetado para funcionar com JSON e armazenar dados sem esquema. Ele é horizontalmente escalonável, o que significa que vários computadores menores farão o trabalho para você. É ótimo para flexibilidade e dados não estruturados, além de armazenar em cache análises em tempo real.

Redis é um armazenamento de estrutura de dados NoSQL em memória de código aberto. Ele usa pares chave-valor para armazenamento em vez de documentos.

Instalar MySQL

Para instalar o MySQL em uma distribuição do Linux em execução no WSL, siga as instruções em Como instalar o MySQL no Linux nos documentos do MySQL. Talvez seja necessário primeiro habilitar o suporte ao systemd no arquivo de configuração do wsl.conf.

Exemplo usando a distribuição do Ubuntu:

  1. Abra a linha de comando do Ubuntu e atualize os pacotes disponíveis: sudo apt update
  2. Depois que os pacotes forem atualizados, instale o MySQL com: sudo apt install mysql-server
  3. Confirme a instalação e obtenha o número de versão: mysql --version
  4. Iniciar o MySQL Server/verificar o status: systemctl status mysql
  5. Para abrir o prompt do MySQL, insira: sudo mysql
  6. Para ver quais bancos de dados você tem disponíveis, no prompt do MySQL, insira: SHOW DATABASES;
  7. Para criar um novo banco de dados, insira: CREATE DATABASE database_name;
  8. Para excluir um banco de dados, insira: DROP DATABASE database_name;

Para saber mais sobre como trabalhar com bancos de dados MySQL, confira a documentação do MySQL.

Para trabalhar com bancos de dados MySQL no VS Code, experimente a extensão MySQL.

Talvez você também queira executar o script de segurança incluído. Isso altera algumas das opções padrão menos seguras para itens como logons raiz remotos e usuários de exemplo. Esse script também inclui etapas para alterar a senha do usuário raiz do MySQL. Para executar o script de segurança:

  1. Inicie um servidor MySQL: sudo service mysql start
  2. Inicie os prompts de script de segurança: sudo mysql_secure_installation
  3. O primeiro prompt perguntará se você deseja configurar o VALIDATE PASSWORD COMPONENT, que pode ser usado para testar a força da senha do MySQL. Se você quiser definir uma senha simples, não defina esse componente.
  4. Em seguida, você definirá/alterará uma senha para o usuário raiz do MySQL e decidirá se removerá ou não os usuários anônimos, se permitirá que o usuário raiz faça logon local e remotamente, se removerá o banco de dados de teste e, por fim, se recarregará as tabelas de privilégios imediatamente.

Instalar o PostgreSQL

Para instalar o PostgreSQL no WSL (ou seja, Ubuntu):

  1. Abra o terminal do WSL (ou seja, Ubuntu).
  2. Atualize os pacotes do Ubuntu: sudo apt update
  3. Depois que os pacotes forem atualizados, instale o PostgreSQL (e o pacote -contrib que tem alguns utilitários úteis) com: sudo apt install postgresql postgresql-contrib
  4. Confirme a instalação e obtenha o número de versão: psql --version

Há três comandos que você precisará saber quando o PostgreSQL estiver instalado:

  • sudo service postgresql status para verificar o status do banco de dados.
  • sudo service postgresql start para iniciar a execução do banco de dados.
  • sudo service postgresql stop para interromper a execução do banco de dados.

O usuário administrador padrão, postgres, precisa de uma senha atribuída para se conectar a um banco de dados. Para definir uma senha:

  1. Insira o comando: sudo passwd postgres
  2. Você deverá inserir sua nova senha.
  3. Feche e abra novamente o terminal.

Para executar o PostgreSQL com o shell do psql:

  1. Inicie o serviço Postgres: sudo service postgresql start
  2. Conecte-se ao serviço Postgres e abra o shell do psql: sudo -u postgres psql

Depois de entrar no shell do psql com êxito, você verá a linha de comando ser alterada para ter a seguinte aparência: postgres=#

Observação

Como alternativa, você pode abrir o shell do psql alternando para o usuário do Postgres com su - postgres e, em seguida, inserindo o comando psql.

Para sair do postgres=# insira: \q; ou use a tecla de atalho: Ctrl+D

Para ver quais contas de usuário foram criadas na instalação do PostgreSQL, use psql --command="\du" no terminal do WSL ou apenas \du se o shell do psql estiver aberto. Esse comando exibirá as colunas: Nome de Usuário da Conta, Lista de Atributos de Funções e Membro de Grupos de Funções. Para voltar à linha de comando, insira q.

Para obter mais informações sobre como trabalhar com bancos de dados PostgreSQL, confira a documentação do PostgreSQL.

Para trabalhar com bancos de dados PostgreSQL no VS Code, experimente a extensão PostgreSQL.

Instalar o MongoDB

Para instalar o MongoDB, consulte os documentos do Mongodb: Instalar o MongoDB Community Edition no Linux

A instalação do MongoDB pode exigir etapas ligeiramente diferentes, dependendo da distribuição do Linux usada para instalação. Observe também que a instalação do MongoDB pode ser diferente dependendo da versão nº que você pretende instalar. Use a lista suspensa de versão no canto superior esquerdo da documentação do MongoDB para selecionar a versão que se alinha à sua meta. Por fim, talvez seja necessário habilitar o suporte ao systemd no arquivo de configuração wsl.conf da distribuição do Linux que você está usando com o WSL. O comando systemctl faz parte do sistema de inicialização systemd e pode não funcionar se a distribuição estiver usando o systemv.

O VS Code dá suporte ao trabalho com bancos de dados MongoDB por meio da extensão do Azure Cosmos DB, você pode criar bancos de dados MongoDB no VS Code, gerenciá-los e consultá-los. Para saber mais, acesse a documentação do VS Code: Trabalhar com o MongoDB.

Saiba mais nos documentos do MongoDB:

Instale o Microsoft SQL Server

Para instalar o SQL Server em uma distribuição do Linux executada pelo WSL: SQL Server no Linux. Para trabalhar com bancos de dados do Microsoft SQL Server no VS Code, experimente a extensão MSSQL.

Instalar o SQLite

Para instalar o SQLite no WSL (ou seja, Ubuntu):

  1. Abra o terminal do WSL (ou seja, Ubuntu).
  2. Atualize os pacotes do Ubuntu: sudo apt update
  3. Depois que os pacotes forem atualizados, instale o SQLite3 com: sudo apt install sqlite3
  4. Confirme a instalação e obtenha o número de versão: sqlite3 --version

Para criar um banco de dados de teste, chamado "example.db", insira: sqlite3 example.db

Para ver uma lista dos bancos de dados SQLite, insira: .databases

Para ver o status do banco de dados, insira:.dbinfo ?DB?

O banco de dados ficará vazio após a criação. Você pode criar uma nova tabela para seu banco de dados com CREATE TABLE empty (kol INTEGER);.

Agora, inserir o .dbinfo ?DB? mostrará o banco de dados criado.

Para sair do prompt do SQLite, insira: .exit

Para obter mais informações sobre como trabalhar com um banco de dados SQLite, confira a documentação do SQLite.

Para trabalhar com bancos de dados SQLite no VS Code, experimente a extensão SQLite.

Instalar o Redis

Para instalar o Redis no WSL (ou seja, Ubuntu):

  1. Abra o terminal do WSL (ou seja, Ubuntu).
  2. Atualize os pacotes do Ubuntu: sudo apt update
  3. Depois que os pacotes forem atualizados, instale o Redis com: sudo apt install redis-server
  4. Confirme a instalação e obtenha o número de versão: redis-server --version

Para começar a executar o servidor Redis: sudo service redis-server start

Verifique se o Redis está funcionando (redis-cli é o utilitário de interface de linha de comando para conversar com o Redis): redis-cli ping isso deve retornar uma resposta de "PONG".

Para parar de executar o servidor Redis: sudo service redis-server stop

Para obter mais informações sobre como trabalhar com um banco de dados Redis, confira a documentação do Redis.

Para trabalhar com bancos de dados Redis no VS Code, experimente a extensão Redis.

Ver serviços em execução e configurar aliases de perfil

Para ver os serviços que você tem atualmente em execução na distribuição do WSL, insira: service --status-all

Digitar sudo service mongodb start ou sudo service postgres start e sudo -u postgrest psql pode ser entediante. No entanto, você pode considerar a configuração de aliases no arquivo .profile no WSL para tornar esses comandos mais rápidos e fáceis de serem lembrados.

Para configurar seu próprio alias personalizado ou atalho para execução destes comandos:

  1. Abra o terminal do WSL e insira cd ~ para ter certeza de que você está no diretório raiz.

  2. Abra o arquivo .profile, que controla as configurações do terminal, com o editor de texto do terminal, o Nano: sudo nano .profile

  3. Na parte inferior do arquivo (não altere as configurações de # set PATH), adicione o seguinte:

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

    Isso permitirá que você insira start-pg para iniciar a execução do serviço PostgreSQL e run-pg para abrir o shell do psql. Você pode alterar start-pg e run-pg para os nomes que desejar; apenas tenha cuidado para não substituir um comando que o Postgres já usa.

  4. Depois de adicionar seus novos aliases, saia do editor de texto Nano usando Ctrl+X – selecione Y (Sim) quando precisar salvar o conteúdo e Enter (deixando o nome de arquivo como .profile).

  5. Feche e abra novamente o terminal do WSL e, em seguida, experimente os novos comandos de alias.

Solução de problemas

Erro: directory-sync fdatasync Invalid argument

Verifique se você está executando sua distribuição do Linux no modo WSL 2. Para obter ajuda para alternar do WSL 1 para o WSL 2, confira Definir sua versão de distribuição como WSL 1 ou WSL 2.

Recursos adicionais