Começar a trabalhar com bancos de dados 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. Começar a trabalhar com MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server ou SQLite.

Pré-requisitos

Diferenças entre sistemas de banco de dados

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

O MySQL é um banco de dados relacional SQL de código aberto, organizando 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 amplamente usado dos quatro sistemas de banco de dados.

O PostgreSQL (às vezes chamado de Postgres) também é um banco de dados relacional de SQL de código aberto com ênfase na extensibilidade e na conformidade de 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.

Microsoft SQL Server inclui SQL Server no Windows, SQL Server em Linux e SQL no Azure. Esses também são sistemas de gerenciamento de banco de dados relacional configuradas em servidores com a função principal de armazenar e recuperar dados conforme solicitado por aplicativos de software.

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

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

O Redis é um armazenamento de estrutura de dados na memória NoSQL de código aberto. Ele usa pares chave-valor para armazenamento em vez de documentos. O Redis é conhecido por sua flexibilidade, desempenho e suporte a idiomas amplos. Ele é flexível o suficiente para ser usado como um cache ou agente de mensagens e pode usar estruturas de dados ’ como listas, conjuntos e hashes.

O tipo de banco de dados escolhido deve depender do tipo de aplicativo com o qual você usará o banco de dados. Recomendamos que você pesquise as vantagens e as desvantagens de bancos de dados estruturados e não estruturados e faça uma escolha com base em seu caso de uso.

Instalar MySQL

Para instalar o MySQL 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 são atualizados, instale o MySQL com: sudo apt install mysql-server
  4. Confirme a instalação e obtenha o número de versão: mysql --version

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

  1. Inicie um servidor MySQL: sudo /etc/init.d/mysql start
  2. Inicie os prompts de script de segurança: sudo mysql_secure_installation
  3. O primeiro prompt perguntará se você gostaria de configurar o Plug-in Validar Senha, que pode ser usado para testar a força da senha ’ do MySQL. Em seguida, você definirá uma senha para o usuário raiz do MySQL, decidirá se deve ou não remover usuários anônimos, decidirá se deve permitir que o usuário raiz faça logon local e remotamente, decidirá se deve remover o banco de dados de teste e, por fim, decidir se deve recarregar as tabelas de privilégio imediatamente.

Para abrir o prompt do MySQL, insira: sudo mysql

Para ver quais bancos de dados você tem disponíveis, no prompt do MySQL, insira: SHOW DATABASES;

Para criar um novo banco de dados, insira: CREATE DATABASE database_name;

Para excluir um banco de dados, insira: DROP DATABASE database_name;

Para obter mais informações sobre como trabalhar com bancos de dados MySQL, consulte os documentos do MySQL.

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

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 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 de 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 -c "\du" no terminal do WSL ou apenas \du se o shell do psql estiver aberto. Esse comando exibirá 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, consulte os documentos do PostgreSQL.

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

Instalar o MongoDB

Para instalar o MongoDB (versão 5.0) no WSL (Ubuntu 20.04):

  1. Abra o terminal do WSL (ou seja, Ubuntu) e vá para o diretório da página central: cd ~
  2. Atualize os pacotes do Ubuntu: sudo apt update
  3. Importe a chave pública usada pelo mongoDB sistema de gerenciamento de pacotes: wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
  4. Crie um arquivo de lista para MongoDB: echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
  5. Recarregar o banco de dados de pacote local: sudo apt-get update
  6. Instalar pacotes do MongoDB: sudo apt-get install -y mongodb-org
  7. Confirme a instalação e obtenha o número de versão: mongod --version
  8. Faça um diretório para armazenar dados: mkdir -p ~/data/db
  9. Execute uma instância do Mongo: sudo mongod --dbpath ~/data/db
  10. Verifique se sua instância do MongoDB está em execução com: ps -e | grep 'mongod'
  11. Para sair do Shell do MongoDB, use as teclas de atalho: Ctrl + C

Dica

A instalação do MongoDB pode exigir etapas ligeiramente diferentes, dependendo da distribuição do Linux que está sendo usada para instalação. Confira os tutoriais de instalação do MongoDB. Observe também que a instalação do MongoDB pode ser diferente dependendo da versão # que você está tentando instalar. Use a lista lista de versões no canto superior esquerdo da documentação do MongoDB para selecionar a versão que se alinha à sua meta.

Diferenças do sistema de init do MongoDB

No exemplo acima, fizemos o MongoDB diretamente. Outros tutoriais podem iniciar o MongoDB usando o sistema deit integrado do sistema operacional. Você pode ver o comando sudo systemctl status mongodb usado em tutoriais ou artigos. Atualmente, o WSL não tem suporte para systemd (um sistema de gerenciamento de serviços no Linux).

Você não deverá notar uma diferença, mas se um tutorial recomendar o uso de sudo systemctl, use sudo /etc/init.d/. Por exemplo, sudo systemctl status docker para o WSL será sudo /etc/init.d/docker status, ou você também pode usar sudo service docker status.

Adicione o script de init para iniciar o MongoDB como um serviço

As instruções de instalação acima instalam uma versão do MongoDB que não inclui um script automaticamente no /etc/init.d/ . Se você quiser usar os comandos de serviço, poderá baixar o script init.d para mongodb dessa origem, coloque-o manualmente como um arquivo neste caminho: e, em seguida, poderá iniciar o Mongo como um serviço usando sudo service mongodb start .

  1. Baixe o script init.d para MongoDB: curl https://raw.githubusercontent.com/mongodb/mongo/master/debian/init.d | sudo tee /etc/init.d/mongodb >/dev/null
  2. Atribua permissões executáveis de script: sudo chmod +x /etc/init.d/mongodb
  3. Agora você pode usar comandos de serviço do MongoDB:
    • sudo service mongodb status para verificar o status do banco de dados. Você deverá ver uma resposta [Falha] se nenhum banco de dados estiver em execução.
    • sudo service mongodb start para iniciar a execução do banco de dados. Você deverá ver uma resposta [OK].
    • sudo service mongodb stop para interromper a execução do banco de dados.
  4. Verifique se você está conectado ao servidor de banco de dados com o comando de diagnóstico: isso fará com que a versão atual do banco de dados, o endereço do servidor e a porta e a saída do comando mongo --eval 'db.runCommand({ connectionStatus: 1 })' de status sejam produzidos. Um valor igual a 1 para o campo "OK" na resposta indica que o servidor está funcionando.

Observação

O MongoDB tem vários parâmetros padrão, incluindo o armazenamento de dados em /data/db e a execução na porta 27017. Além disso, mongod é o daemon (processo de host para o banco de dados) e mongo é o shell de linha de comando que se conecta a uma instância específica do mongod.

VS Code dá suporte ao trabalho com bancos de dados MongoDB por meio da extensão do Azure CosmosDB,você pode criar, gerenciar e consultar bancos de dados mongoDB de dentro VS Code. Para saber mais, visite os documentos VS Code: Trabalhando com o MongoDB.

Saiba mais nos documentos do MongoDB:

Instalar o Microsoft SQL Server

Para instalar SQL Server no WSL (ou seja, Ubuntu), siga este início rápido: Instalar SQL Server criar um banco de dados no Ubuntu.

Para trabalhar com Microsoft SQL Server bancos de dados 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 são 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?

Para sair do prompt do SQLite, insira: .exit

Para obter mais informações sobre como trabalhar com um banco de dados SQLite, consulte os documentos do SQLite.

Para trabalhar com bancos de dados SQLite 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 são 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 iniciar a execução do servidor Redis: sudo service redis-server start

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

Para interromper a execução do servidor Redis: sudo service redis-server stop

Para obter mais informações sobre como trabalhar com um banco de dados Redis, consulte os documentos do Redis.

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

Consulte serviços que executam e configuram aliases de perfil

Para ver os serviços que você tem atualmente em execução em sua distribuição 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 (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: argumento inválido de sincronização de diretórios

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

Recursos adicionais