Sdílet prostřednictvím


Začínáme s databázemi v subsystému Windows pro Linux

Tento podrobný průvodce vám pomůže začít s připojením projektu ve WSL k databázi. Začínáme s MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Serverem nebo SQLite.

Požadavky

Rozdíly mezi databázovými systémy

Mezi oblíbené pro databázový systém patří:

MySQL je opensourcová relační databáze SQL, která uspořádá data do jedné nebo více tabulek, ve kterých můžou datové typy vzájemně souviset. Je vertikálně škálovatelný, což znamená, že jeden konečný počítač udělá práci za vás. V současné době se nejčastěji používá ze čtyř databázových systémů.

PostgreSQL (někdy označované jako Postgres) je také opensourcová relační databáze SQL s důrazem na rozšiřitelnost a dodržování standardů. Dokáže také zpracovat JSON, ale obecně je lepší pro strukturovaná data, vertikální škálování a potřeby kompatibilní s acid, jako jsou elektronické obchodování a finanční transakce.

Microsoft SQL Server zahrnuje SQL Server v systému Windows, SQL Server v Linuxu a SQL na Azure. Jedná se také o systémy pro správu relačních databází nastavené na serverech s primární funkcí ukládání a načítání dat požadovaných softwarovými aplikacemi.

SQLite je opensourcová samostatná databáze založená na souborech, bezserverová databáze, která je známá kvůli přenositelnosti, spolehlivosti a dobrému výkonu i v prostředích s nedostatkem paměti.

MongoDB je opensourcová databáze dokumentů NoSQL navržená pro práci s JSON a ukládání dat bez schématu. Je horizontálně škálovatelný, což znamená, že pro vás bude fungovat více menších počítačů. Je vhodný pro flexibilitu a nestrukturovaná data a ukládání analýz v reálném čase do mezipaměti.

redis je opensourcové úložiště datových struktur NoSQL v paměti. Používá úložiště postavené na párech klíč-hodnota namísto dokumentů.

Instalace MySQL

Pokud chcete nainstalovat MySQL v linuxové distribuci běžící na WSL, stačí postupovat podle Instalace MySQL v Linuxu pokyny v dokumentaci k MySQL. Možná budete muset nejprve povolit systémovou podporu v konfiguračním souboru wsl.conf.

Příklad použití distribuce Ubuntu:

  1. Otevřete příkazový řádek Ubuntu a aktualizujte dostupné balíčky: sudo apt update
  2. Po aktualizaci balíčků nainstalujte MySQL pomocí: sudo apt install mysql-server
  3. Potvrďte instalaci a získejte číslo verze: mysql --version
  4. Spuštění serveru MySQL / kontrola stavu: systemctl status mysql
  5. Pokud chcete otevřít výzvu MySQL, zadejte: sudo mysql
  6. Pokud chcete zjistit, jaké databáze máte k dispozici, zadejte na příkazovém řádku MySQL: SHOW DATABASES;
  7. Pokud chcete vytvořit novou databázi, zadejte: CREATE DATABASE database_name;
  8. Pokud chcete databázi odstranit, zadejte: DROP DATABASE database_name;

Další informace o práci s databázemi MySQL najdete v dokumentaci k MySQL.

Pokud chcete pracovat s databázemi MySQL ve VS Code, zkuste rozšíření MySQL.

Můžete také chtít spustit zahrnutý skript zabezpečení. Tím se změní některé z méně bezpečných výchozích možností pro věci, jako jsou vzdálená kořenová přihlášení a ukázkoví uživatelé. Tento skript obsahuje také postup změny hesla pro kořenového uživatele MySQL. Spuštění skriptu zabezpečení:

  1. Spuštění serveru MySQL: sudo service mysql start
  2. Spusťte výzvy skriptu zabezpečení: sudo mysql_secure_installation
  3. První výzva se zeptá, jestli chcete nastavit komponentu OVĚŘIT HESLO, kterou můžete použít k otestování síly hesla MySQL. Pokud chcete nastavit jednoduché heslo, neměli byste tuto komponentu nastavit.
  4. Pak nastavíte nebo změníte heslo pro kořenového uživatele MySQL, rozhodnete se, jestli chcete odebrat anonymní uživatele, rozhodnout se, jestli se má kořenový uživatel přihlásit místně i vzdáleně, rozhodnout se, jestli se má testovací databáze odebrat, a nakonec rozhodnout, jestli se mají tabulky oprávnění okamžitě znovu načíst.

Nainstalovat PostgreSQL

Instalace PostgreSQL na WSL (tj. Ubuntu:

  1. Otevřete terminál WSL (tj. Ubuntu).
  2. Aktualizace balíčků Ubuntu: sudo apt update
  3. Po aktualizaci balíčků nainstalujte PostgreSQL (a balíček -contrib, který má několik užitečných nástrojů) s: sudo apt install postgresql postgresql-contrib
  4. Potvrďte instalaci a získejte číslo verze: psql --version

Po instalaci PostgreSQL potřebujete vědět 3 příkazy:

  • sudo service postgresql status pro kontrolu stavu vaší databáze.
  • sudo service postgresql start začít spustit databázi.
  • sudo service postgresql stop ukončit spouštění databáze.

Výchozí uživatel s rolí správce postgrespotřebuje pro připojení k databázi přiřazené heslo. Nastavení hesla:

  1. Zadejte příkaz: sudo passwd postgres
  2. Zobrazí se výzva k zadání nového hesla.
  3. Zavřete a znovu otevřete terminál.

Spuštění PostgreSQL pomocí prostředí psql:

  1. Spusťte službu postgres: sudo service postgresql start
  2. Připojte se ke službě postgres a otevřete prostředí psql: sudo -u postgres psql

Jakmile vstoupíte do prostředí psql, příkazový řádek se změní a bude vypadat takto: postgres=#

Poznámka

Případně můžete prostředí psql otevřít přepnutím na uživatele postgres s: su - postgres a zadáním příkazu: psql.

Ukončení příkazu postgres=# enter: \q nebo použijte klávesovou zkratku: Ctrl+D

Pokud chcete zjistit, jaké uživatelské účty byly vytvořeny v instalaci PostgreSQL, použijte z terminálu WSL: psql --command="\du" ... nebo jen \du, pokud máte otevřené prostředí psql. Tento příkaz zobrazí sloupce: Uživatelské jméno účtu, seznam atributů rolí a člen skupiny rolí. Chcete-li se vrátit zpět na příkazový řádek, zadejte: q.

Chcete-li se dozvědět více o práci s databázemi PostgreSQL, podívejte se do dokumentace PostgreSQL.

Pokud chcete pracovat s databázemi PostgreSQL ve VS Code, zkuste rozšíření PostgreSQL.

Instalace MongoDB

Pokud chcete nainstalovat MongoDB, přečtěte si dokumentaci k Mongodb: Instalace MongoDB Community Edition v Linuxu

Instalace MongoDB může vyžadovat mírně odlišné kroky v závislosti na distribuci Linuxu, která se používá k instalaci. Všimněte si také, že instalace MongoDB se může lišit v závislosti na verzi #, kterou chcete nainstalovat. Pomocí rozevíracího seznamu verzí v levém horním rohu dokumentace MongoDB vyberte verzi, která odpovídá vašemu cíli. Nakonec možná budete muset povolit systémovou podporu v konfiguračním souboru wsl.conf linuxové distribuce, kterou používáte s WSL. Příkaz systemctl je součástí systémového inicializačního systému a nemusí fungovat, pokud vaše distribuce používá systemv.

VS Code podporuje práci s databázemi MongoDB prostřednictvím rozšíření Azure CosmosDB, můžete vytvářet, spravovat a dotazovat databáze MongoDB z VS Code. Další informace najdete v dokumentaci k editoru VS Code: Práce s MongoDB.

Další informace najdete v dokumentaci k MongoDB:

Instalace Microsoft SQL Serveru

Rychlý start: Instalace SQL Serveru a vytvoření databáze v subsystému Windows pro Linux (WSL 2).

Instalace nástroje SQLite

Instalace SQLite na WSL (tj. Ubuntu:

  1. Otevřete terminál WSL (tj. Ubuntu).
  2. Aktualizace balíčků Ubuntu: sudo apt update
  3. Po aktualizaci balíčků nainstalujte SQLite3 pomocí: sudo apt install sqlite3
  4. Potvrďte instalaci a získejte číslo verze: sqlite3 --version

Pokud chcete vytvořit testovací databázi s názvem "example.db", zadejte: sqlite3 example.db

Pokud chcete zobrazit seznam databází SQLite, zadejte: .databases

Pokud chcete zobrazit stav databáze, zadejte: .dbinfo ?DB?

Databáze bude po vytvoření prázdná. Novou tabulku pro databázi můžete vytvořit pomocí CREATE TABLE empty (kol INTEGER);.

Když teď zadáte .dbinfo ?DB?, zobrazí se vámi vytvořená databáze.

Pokud chcete ukončit výzvu SQLite, zadejte: .exit

Další informace o práci s databází SQLite najdete v dokumentaci SQLite.

Pokud chcete pracovat s databázemi SQLite ve VS Code, zkuste rozšíření SQLite.

Nainstalujte Redis

Instalace Redis na WSL (tj. Ubuntu:

  1. Otevřete terminál WSL (tj. Ubuntu).
  2. Aktualizace balíčků Ubuntu: sudo apt update
  3. Po aktualizaci balíčků nainstalujte Redis pomocí: sudo apt install redis-server
  4. Potvrďte instalaci a získejte číslo verze: redis-server --version

Chcete-li spustit server Redis: sudo service redis-server start

Zkontrolujte, jestli redis funguje (redis-cli je nástroj příkazového řádku pro komunikaci s Redisem): redis-cli ping by se měla vrátit odpověď "PONG".

Ukončení spouštění serveru Redis: sudo service redis-server stop

Další informace o práci s databází Redis najdete v dokumentaci Redis.

Pokud chcete pracovat s databázemi Redis ve VS Code, zkuste rozšíření Redis.

Zobrazení služeb spuštěných a nastavení aliasů profilu

Pokud chcete zobrazit služby, které aktuálně máte spuštěné v distribuci WSL, zadejte: service --status-all

Psaní sudo service mongodb start nebo sudo service postgres start a sudo -u postgrest psql může být zdlouhavé. Můžete ale zvážit nastavení aliasů v souboru .profile ve WSL, aby tyto příkazy byly rychlejší a snadněji zapamatovatelné.

Pokud chcete nastavit vlastní alias nebo zástupce pro spouštění těchto příkazů:

  1. Otevřete terminál WSL a zadejte cd ~, abyste měli jistotu, že jste v kořenovém adresáři.

  2. Otevřete soubor .profile, který řídí nastavení terminálu pomocí textového editoru terminálu Nano: sudo nano .profile

  3. V dolní části souboru (neměňte nastavení # set PATH) přidejte následující:

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

    To vám umožní zadat start-pg a spustit službu postgresql a run-pg otevřít prostředí psql. Můžete změnit start-pg a run-pg na libovolné názvy, ale dávejte pozor, abyste nepřepsali příkaz, který postgres už používá!

  4. Jakmile přidáte nové aliasy, ukončete textový editor Nano pomocí Ctrl+X – po zobrazení výzvy k uložení vyberte Y (Ano) a enter (ponechejte název souboru jako .profile).

  5. Zavřete a znovu otevřete terminál WSL a zkuste nové příkazy aliasu.

Řešení problémů

Chyba: fdatasync synchronizace adresáře Neplatný argument

Ujistěte se, že používáte distribuci Linuxu v režimu WSL 2. Nápovědu k přechodu z WSL 1 na WSL 2 najdete v tématu Nastavení vaší distribuční verze na WSL 1 nebo WSL 2.

Další zdroje informací