Introdução aos bancos de dados no subsistema do Windows para LinuxGet started with databases on Windows Subsystem for Linux

Este guia passo a passo ajudará você a começar a conectar seu projeto no WSL a um banco de dados.This step-by-step guide will help you get started connecting your project in WSL to a database. Introdução ao MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server ou SQLite.Get started with MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server, or SQLite.

Pré-requisitosPrerequisites

Diferenças entre sistemas de banco de dadosDifferences between database systems

As opções mais populares para um sistema de banco de dados incluem:The most popular choices for a database system include:

O MySQL é um banco de dados RELACIONAl SQL de código-fonte aberto, organizando-os em uma ou mais tabelas nas quais os tipos de dados podem estar relacionados.MySQL is an open-source SQL relational database, organizing data into one or more tables in which data types may be related to each other. Ele é verticalmente escalonável, o que significa que uma máquina final fará o trabalho para você.It is vertically scalable, which means one ultimate machine will do the work for you. Atualmente, é o mais amplamente usado nos quatro sistemas de banco de dados.It is currently the most widely used of the four database systems.

O PostgreSQL (às vezes chamado de Postgres) também é um banco de dados RELACIONAl SQL de código-fonte aberto com ênfase em extensibilidade e conformidade com os padrões.PostgreSQL (sometimes referred to as Postgres) is also an open-source SQL relational database with an emphasis on extensibility and standards compliance. 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.It can handle JSON now too, but it is generally better for structured data, vertical scaling, and ACID-compliant needs like eCommerce and financial transactions.

O Microsoft SQL Server inclui SQL Server no Windows, SQL Server em Linux e SQL no Azure.Microsoft SQL Server includes SQL Server on Windows, SQL Server on Linux, and SQL on Azure. Esses também são sistemas de gerenciamento de banco de dados relacionais configurados em servidores com a função primária de armazenamento e recuperação de dados, conforme solicitado por aplicativos de software.These are also relational database management systems set up on servers with primary function of storing and retrieving data as requested by software applications.

O SQLite é um banco de dados independente de software livre, baseado em arquivo, "sem servidor", conhecido por sua portabilidade, confiabilidade e bom desempenho mesmo em ambientes de baixa memória.SQLite is an open-source self-contained, file-based, “serverless” database, known for its portability, reliability, and good performance even in low-memory environments.

O MongoDB é um banco de dados de documentos do NoSQL de software livre projetado para funcionar com JSON e armazenar informações sem esquema.MongoDB is an open-source NoSQL document database designed to work with JSON and store schema-free data. Ele é horizontalmente escalonável, o que significa que vários computadores menores farão o trabalho para você.It is horizontally scalable, which means multiple smaller machines will do the work for you. É bom para flexibilidade e dados não estruturados, além de armazenar em cache a análise em tempo real.It's good for flexibility and unstructured data, and caching real-time analytics.

Redis é um armazenamento de estrutura de dados na memória do NoSQL de código aberto.Redis is is an open-source NoSQL in-memory data structure store. Ele usa pares chave-valor para armazenamento em vez de documentos.It uses key-value pairs for storage instead of documents. O Redis é conhecido por sua flexibilidade, desempenho e suporte de linguagem ampla.Redis is known for its flexibility, performance, and wide language support. É flexível o suficiente para ser usado como um agente de cache ou mensagem e pode usar estruturas de dados como listas, conjuntos e hashes.It’s flexible enough to be used as a cache or message broker and can use data structures like lists, sets, and hashes.

O tipo de banco de dados escolhido deve depender do tipo de aplicativo com o qual você usará o banco de dados.The sort of database you choose should depend on the type of application you will be using the database with. 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.We recommend that you look up the advantages and disadvantages of structured and unstructured databases and choose based on your use case.

Instalar MySQLInstall MySQL

Para instalar o MySQL no WSL (Ubuntu 18, 4):To install MySQL on WSL (Ubuntu 18.04):

  1. Abra o terminal do WSL (ou seja, Ubuntu 18.04).Open your WSL terminal (ie. Ubuntu 18.04).
  2. Atualize os pacotes do Ubuntu: sudo apt updateUpdate your Ubuntu packages: sudo apt update
  3. Depois que os pacotes forem atualizados, instale o MySQL com: sudo apt install mysql-serverOnce the packages have updated, install MySQL with: sudo apt install mysql-server
  4. Confirme a instalação e obtenha o número de versão: mysql --versionConfirm installation and get the version number: mysql --version

Talvez você também queira executar o script de segurança incluído.You may also want to run the included security script. Isso altera algumas das opções padrão menos seguras para coisas como logons raiz remotos e usuários de exemplo.This changes some of the less secure default options for things like remote root logins and sample users. Para executar o script de segurança:To run the security script:

  1. Iniciar um servidor MySQL: sudo /etc/init.d/mysql startStart a MySQL server: sudo /etc/init.d/mysql start
  2. Inicie os prompts de script de segurança: sudo mysql_secure_installationStart the security script prompts: sudo mysql_secure_installation
  3. O primeiro prompt perguntará se você deseja configurar o plug-in validar senha, que pode ser usado para testar a força da senha do MySQL.The first prompt will ask whether you’d like to set up the Validate Password Plugin, which can be used to test the strength of your MySQL password. Em seguida, você definirá uma senha para o usuário raiz do MySQL, decida se deseja ou não remover usuários anônimos, decidir se deseja permitir que o usuário raiz faça logon tanto localmente quanto remotamente, decida se deseja remover o banco de dados de teste e, por fim, decidir se recarregará as tabelas de privilégios imediatamente.You will then set a password for the MySQL root user, decide whether or not to remove anonymous users, decide whether to allow the root user to login both locally and remotely, decide whether to remove the test database, and, lastly, decide whether to reload the privilege tables immediately.

Para abrir o prompt do MySQL, digite: sudo mysqlTo open the MySQL prompt, enter: sudo mysql

Para ver quais bancos de dados estão disponíveis, no prompt do MySQL, digite: SHOW DATABASES;To see what databases you have available, in the MySQL prompt, enter: SHOW DATABASES;

Para criar um novo banco de dados, digite: CREATE DATABASE database_name;To create a new database, enter: CREATE DATABASE database_name;

Para excluir um banco de dados, digite: DROP DATABASE database_name;To delete a database, enter: DROP DATABASE database_name;

Para obter mais informações sobre como trabalhar com bancos de dados MySQL, consulte os documentos do MySQL.For more about working with MySQL databases, see the MySQL docs.

Para trabalhar com bancos de dados MySQL no VS Code, experimente a extensão do MySQL.To work with with MySQL databases in VS Code, try the MySQL extension.

Instalar o PostgreSQLInstall PostgreSQL

Para instalar o PostgreSQL em WSL (Ubuntu 18, 4):To install PostgreSQL on WSL (Ubuntu 18.04):

  1. Abra o terminal do WSL (ou seja, Ubuntu 18.04).Open your WSL terminal (ie. Ubuntu 18.04).
  2. Atualize os pacotes do Ubuntu: sudo apt updateUpdate your Ubuntu packages: 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-contribOnce the packages have updated, install PostgreSQL (and the -contrib package which has some helpful utilities) with: sudo apt install postgresql postgresql-contrib
  4. Confirme a instalação e obtenha o número de versão: psql --versionConfirm installation and get the version number: psql --version

Há três comandos que você precisará saber quando o PostgreSQL estiver instalado:There are 3 commands you need to know once PostgreSQL is installed:

  • sudo service postgresql status para verificar o status do banco de dados.sudo service postgresql status for checking the status of your database.
  • sudo service postgresql start para iniciar a execução do banco de dados.sudo service postgresql start to start running your database.
  • sudo service postgresql stop para interromper a execução do banco de dados.sudo service postgresql stop to stop running your database.

O usuário administrador padrão, postgres, precisa de uma senha atribuída para se conectar a um banco de dados.The default admin user, postgres, needs a password assigned in order to connect to a database. Para definir uma senha:To set a password:

  1. Insira o comando: sudo passwd postgresEnter the command: sudo passwd postgres
  2. Você deverá inserir sua nova senha.You will get a prompt to enter your new password.
  3. Feche e abra novamente o terminal.Close and reopen your terminal.

Para executar o PostgreSQL com o Shell do psql :To run PostgreSQL with psql shell:

  1. Inicie o serviço Postgres: sudo service postgresql startStart your postgres service: sudo service postgresql start
  2. Conecte-se ao serviço Postgres e abra o shell do psql: sudo -u postgres psqlConnect to the postgres service and open the psql shell: 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=#Once you have successfully entered the psql shell, you will see your command line change to look like this: 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.Alternatively, you can open the psql shell by switching to the postgres user with: su - postgres and then entering the command: psql.

Para sair de postgres = # Enter: \q ou use a tecla de atalho: CTRL + DTo exit postgres=# enter: \q or use the shortcut key: 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.To see what user accounts have been created on your PostgreSQL installation, use from your WSL terminal: psql -c "\du" ...or just \du if you have the psql shell open. Este comando exibirá colunas: nome de usuário da conta, lista de atributos de funções e membro de grupos de funções.This command will display columns: Account User Name, List of Roles Attributes, and Member of role group(s). Para voltar à linha de comando, insira q.To exit back to the command line, enter: q.

Para saber mais sobre como trabalhar com bancos de dados PostgreSQL, confira os documentos PostgreSQL.For more about working with PostgreSQL databases, see the PostgreSQL docs.

Para trabalhar com bancos de dados PostgreSQL no VS Code, experimente a extensão PostgreSQL.To work with with PostgreSQL databases in VS Code, try the PostgreSQL extension.

Instalar o MongoDBInstall MongoDB

Para instalar o MongoDB em WSL (Ubuntu 18, 4):To install MongoDB on WSL (Ubuntu 18.04):

  1. Abra o terminal do WSL (ou seja, Ubuntu 18.04).Open your WSL terminal (ie. Ubuntu 18.04).
  2. Atualize os pacotes do Ubuntu: sudo apt updateUpdate your Ubuntu packages: sudo apt update
  3. Depois que os pacotes forem atualizados, instale o MongoDB com: sudo apt-get install mongodbOnce the packages have updated, install MongoDB with: sudo apt-get install mongodb
  4. Confirme a instalação e obtenha o número de versão: mongod --versionConfirm installation and get the version number: mongod --version

Há três comandos que você precisará saber quando o MongoDB estiver instalado:There are 3 commands you need to know once MongoDB is installed:

  • sudo service mongodb status para verificar o status do banco de dados.sudo service mongodb status for checking the status of your database.
  • sudo service mongodb start para iniciar a execução do banco de dados.sudo service mongodb start to start running your database.
  • sudo service mongodb stop para interromper a execução do banco de dados.sudo service mongodb stop to stop running your database.

Observação

Você pode ver o comando sudo systemctl status mongodb usado em tutoriais ou artigos.You might see the command sudo systemctl status mongodb used in tutorials or articles. Para permanecer leve, o WSL não inclui systemd (um sistema de gerenciamento de serviços no Linux).In order to remain lightweight, WSL does not include systemd (a service management system in Linux). Em vez disso, ele usa o SysVinit para iniciar serviços no computador.Instead, it uses SysVinit to start services on your machine. Você não deverá notar uma diferença, mas se um tutorial recomendar o uso de sudo systemctl, use sudo /etc/init.d/.You shouldn't notice a difference, but if a tutorial recommends using sudo systemctl, instead use: sudo /etc/init.d/. Por exemplo, sudo systemctl status mongodb para o WSL será sudo /etc/inid.d/mongodb status, ou você também pode usar sudo service mongodb status.For example, sudo systemctl status mongodb, for WSL would be sudo /etc/inid.d/mongodb status ...or you can also use sudo service mongodb status.

Para executar o banco de dados Mongo em um servidor local:To run your Mongo database in a local server:

  1. Verifique o status do seu banco de dados: sudo service mongodb status você deverá ver uma resposta [falha], a menos que você já tenha iniciado seu banco de dados.Check the status of your database: sudo service mongodb status You should see a [Fail] response, unless you've already started your database.

  2. Inicie seu banco de dados: sudo service mongodb start agora você deve ver uma resposta [OK].Start your database: sudo service mongodb start You should now see an [OK] response.

  3. Verifique se conectando ao servidor de banco de dados e executando um comando de diagnóstico: isso produzirá mongo --eval 'db.runCommand({ connectionStatus: 1 })' a versão atual do banco de dados, o endereço do servidor e a porta e a saída do comando status.Verify by connecting to the database server and running a diagnostic command: mongo --eval 'db.runCommand({ connectionStatus: 1 })' This will output the current database version, the server address and port, and the output of the status command. Um valor igual a 1 para o campo "OK" na resposta indica que o servidor está funcionando.A value of 1 for the "ok" field in the response indicates that the server is working.

  4. Para interromper a execução do serviço do MongoDB, insira: sudo service mongodb stopTo stop your MongoDB service from running, enter: sudo service mongodb stop

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.MongoDB has several default parameters, including storing data in /data/db and running on port 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.Also, mongod is the daemon (host process for the database) and mongo is the command-line shell that connects to a specific instance of mongod.

VS Code dá suporte ao trabalho com bancos de dados do MongoDB por meio da extensão CosmosDB do Azure, você pode criar, gerenciar e consultar bancos de dados do MongoDB de dentro vs Code.VS Code supports working with MongoDB databases via the Azure CosmosDB extension, you can create, manage and query MongoDB databases from within VS Code. Para saber mais, visite o VS Code docs: trabalhando com o MongoDB.To learn more, visit the VS Code docs: Working with MongoDB.

Saiba mais nos documentos do MongoDB:Learn more in the MongoDB docs:

Instalar o Microsoft SQL ServerInstall Microsoft SQL Server

Para instalar o SQL Server no WSL (Ubuntu 18, 4), siga este guia de início rápido: instalar SQL Server e criar um banco de dados no Ubuntu.To install SQL Server on WSL (Ubuntu 18.04), follow this quickstart: Install SQL Server and create a database on Ubuntu.

Para trabalhar com bancos de dados Microsoft SQL Server no VS Code, experimente a extensão MSSQL.To work with Microsoft SQL Server databases in VS Code, try the MSSQL extension.

Instalar o SQLiteInstall SQLite

Para instalar o SQLite em WSL (Ubuntu 18, 4):To install SQLite on WSL (Ubuntu 18.04):

  1. Abra o terminal do WSL (ou seja, Ubuntu 18.04).Open your WSL terminal (ie. Ubuntu 18.04).
  2. Atualize os pacotes do Ubuntu: sudo apt updateUpdate your Ubuntu packages: sudo apt update
  3. Depois que os pacotes forem atualizados, instale o SQLite3 com: sudo apt install sqlite3Once the packages have updated, install SQLite3 with: sudo apt install sqlite3
  4. Confirme a instalação e obtenha o número de versão: sqlite3 --versionConfirm installation and get the version number: sqlite3 --version

Para criar um banco de dados de teste, chamado "example. DB", digite: sqlite3 example.dbTo create a test database, called "example.db", enter: sqlite3 example.db

Para ver uma lista de seus bancos de dados do SQLite, digite: .databasesTo see a list of your SQLite databases, enter: .databases

Para ver o status do seu banco de dados, digite: .dbinfo ?DB?To see the status of your database, enter: .dbinfo ?DB?

Para sair do prompt do SQLite, digite: .exitTo exit the SQLite prompt, enter: .exit

Para obter mais informações sobre como trabalhar com um banco de dados SQLite, consulte os documentos do SQLite.For more information about working with a SQLite database, see the SQLite docs.

Para trabalhar com bancos de dados SQLite no VS Code, experimente a extensão SQLite.To work with SQLite databases in VS Code, try the SQLite extension.

Instalar o RedisInstall Redis

Para instalar o Redis no WSL (Ubuntu 18, 4):To install Redis on WSL (Ubuntu 18.04):

  1. Abra o terminal do WSL (ou seja, Ubuntu 18.04).Open your WSL terminal (ie. Ubuntu 18.04).
  2. Atualize os pacotes do Ubuntu: sudo apt updateUpdate your Ubuntu packages: sudo apt update
  3. Depois que os pacotes forem atualizados, instale o Redis com: sudo apt install redis-serverOnce the packages have updated, install Redis with: sudo apt install redis-server
  4. Confirme a instalação e obtenha o número de versão: redis-server --versionConfirm installation and get the version number: redis-server --version

Para iniciar a execução do servidor Redis: sudo service redis-server startTo start running your Redis server: sudo service redis-server start

Verifique se Redis está funcionando (Redis-CLI é o utilitário de interface de linha de comando para se comunicar com Redis): redis-cli ping isso deve retornar uma resposta de "pongue".Check to see if redis is working (redis-cli is the command line interface utility to talk with Redis): redis-cli ping this should return a reply of "PONG".

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

Para obter mais informações sobre como trabalhar com um banco de dados Redis, consulte o documentos do Redis.For more information about working with a Redis database, see the Redis docs.

Para trabalhar com bancos de dados do Redis no VS Code, tente a extensão Redis.To work with Redis databases in VS Code, try the Redis extension.

Consulte serviços em execução e configurar aliases de perfilSee services running and set up profile aliases

Para ver os serviços que você está executando no momento em sua distribuição do WSL, digite: service --status-allTo see the services that you currently have running on your WSL distribution, enter: service --status-all

Digitar sudo service mongodb start ou sudo service postgres start e sudo -u postgrest psql pode ser entediante.Typing out sudo service mongodb start or sudo service postgres start and sudo -u postgrest psql can get tedious. 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.However, you could consider setting up aliases in your .profile file on WSL to make these commands quicker to use and easier to remember.

Para configurar seu próprio alias personalizado ou atalho para execução destes comandos:To set up your own custom alias, or shortcut, for executing these commands:

  1. Abra o terminal do WSL e insira cd ~ para ter certeza de que você está no diretório raiz.Open your WSL terminal and enter cd ~ to be sure you're in the root directory.

  2. Abra o arquivo .profile, que controla as configurações do terminal, com o editor de texto do terminal, o Nano: sudo nano .profileOpen the .profile file, which controls the settings for your terminal, with the terminal text editor, Nano: sudo nano .profile

  3. Na parte inferior do arquivo (não altere as configurações de # set PATH), adicione o seguinte:At the bottom of the file (don't change the # set PATH settings), add the following:

    # 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.This will allow you to enter start-pg to start running the postgresql service and run-pg to open the psql shell. 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.You can change start-pg and run-pg to whatever names you want, just be careful not to overwrite a command that postgres already uses!

  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).Once you've added your new aliases, exit the Nano text editor using Ctrl+X -- select Y (Yes) when prompted to save and Enter (leaving the file name as .profile).

  5. Feche e abra novamente o terminal do WSL e, em seguida, experimente os novos comandos de alias.Close and re-open your WSL terminal, then try your new alias commands.

Recursos adicionaisAdditional resources