Udostępnij za pośrednictwem


Wprowadzenie do baz danych w podsystemie Windows dla systemu Linux

Ten przewodnik krok po kroku pomoże Ci rozpocząć łączenie projektu w programie WSL z bazą danych. Wprowadzenie do programów MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server lub SQLite.

Warunki wstępne

Różnice między systemami baz danych

Oto niektóre popularne opcje dla systemu bazy danych:

MySQL to relacyjna baza danych SQL typu open source, organizująca dane w co najmniej jednej tabeli, w której typy danych mogą być ze sobą powiązane. Jest skalowalny w pionie, co oznacza, że jedna ostateczna maszyna wykona pracę za Ciebie. Jest to obecnie najczęściej używanych czterech systemów baz danych.

PostgreSQL (czasami określane jako Postgres) to również relacyjna baza danych SQL typu open source z naciskiem na rozszerzalność i zgodność ze standardami. Może obsługiwać kod JSON również teraz, ale jest ogólnie lepiej w przypadku danych ustrukturyzowanych, skalowania w pionie i wymagań zgodnych ze standardem ACID, takich jak handel elektroniczny i transakcje finansowe.

programu Microsoft SQL Server obejmuje program SQL Server w systemie Windows, program SQL Server w systemie Linux i program SQL na platformie Azure. Są to również systemy zarządzania relacyjnymi bazami danych skonfigurowane na serwerach z podstawową funkcją przechowywania i pobierania danych zgodnie z żądaniem aplikacji oprogramowania.

SQLite to samodzielna baza danych typu open source oparta na plikach, "bezserwerowa", znana z przenośności, niezawodności i dobrej wydajności nawet w środowiskach o niskiej pamięci.

mongoDB to baza danych dokumentów NoSQL typu open source przeznaczona do pracy z danymi JSON i przechowywaniem danych bez schematów. Jest skalowalna w poziomie, co oznacza, że wiele mniejszych maszyn wykona pracę za Ciebie. Jest dobre dla elastyczności, danych niestrukturalnych oraz buforowania analiz w czasie rzeczywistym.

Redis to magazyn struktury danych NoSQL w pamięci typu open source. Używa par klucz-wartość do przechowywania zamiast korzystania z dokumentów.

Instalowanie programu MySQL

Aby zainstalować MySQL na dystrybucji systemu Linux uruchomionej w WSL, postępuj zgodnie z instrukcjami Installing MySQL on Linux w dokumentacji MySQL. Może być konieczne najpierw włączenie obsługi systemd w pliku konfiguracji wsl.conf.

Przykład użycia dystrybucji systemu Ubuntu:

  1. Otwórz wiersz polecenia systemu Ubuntu i zaktualizuj dostępne pakiety: sudo apt update
  2. Po zaktualizowaniu pakietów zainstaluj program MySQL za pomocą polecenia: sudo apt install mysql-server
  3. Potwierdź instalację i uzyskaj numer wersji: mysql --version
  4. Uruchom serwer MySQL / sprawdź stan: systemctl status mysql
  5. Aby otworzyć wiersz polecenia MySQL, wprowadź: sudo mysql
  6. Aby zobaczyć, jakie bazy danych są dostępne, w wierszu polecenia mySQL wprowadź: SHOW DATABASES;
  7. Aby utworzyć nową bazę danych, wprowadź: CREATE DATABASE database_name;
  8. Aby usunąć bazę danych, wprowadź: DROP DATABASE database_name;

Aby uzyskać więcej informacji na temat pracy z bazami danych MySQL, zobacz dokumentację MySQL.

Aby pracować z bazami danych MySQL w programie VS Code, wypróbuj rozszerzenie MySQL.

Możesz również uruchomić dołączony skrypt zabezpieczeń. Spowoduje to zmianę niektórych z mniej bezpiecznych opcji domyślnych dla elementów, takich jak zdalne logowania główne i przykładowi użytkownicy. Ten skrypt zawiera również kroki zmiany hasła dla użytkownika głównego mySQL. Aby uruchomić skrypt zabezpieczeń:

  1. Uruchamianie serwera MySQL: sudo service mysql start
  2. Uruchom polecenia skryptu zabezpieczeń: sudo mysql_secure_installation
  3. Pierwszy monit wyświetli pytanie, czy chcesz skonfigurować składnik VALIDATE PASSWORD, który może służyć do testowania siły hasła MySQL. Jeśli chcesz ustawić proste hasło, nie należy ustawiać tego składnika.
  4. Następnie ustawisz/zmienisz hasło użytkownika głównego mySQL, zdecydujesz, czy usunąć anonimowych użytkowników, zdecydować, czy zezwolić użytkownikowi głównemu na logowanie lokalne i zdalne, zdecydować, czy usunąć testowej bazy danych, a na koniec zdecydować, czy natychmiast załadować tabele uprawnień.

Instalowanie bazy danych PostgreSQL

Aby zainstalować PostgreSQL na WSL (np. Ubuntu):

  1. Otwórz terminal programu WSL (tj. Ubuntu).
  2. Aktualizowanie pakietów systemu Ubuntu: sudo apt update
  3. Po zaktualizowaniu pakietów zainstaluj program PostgreSQL (i pakiet -contrib zawierający przydatne narzędzia) za pomocą polecenia: sudo apt install postgresql postgresql-contrib
  4. Potwierdź instalację i uzyskaj numer wersji: psql --version

Istnieją 3 polecenia, które należy znać po zainstalowaniu bazy danych PostgreSQL:

  • sudo service postgresql status do sprawdzania stanu bazy danych.
  • sudo service postgresql start, aby rozpocząć uruchamianie bazy danych.
  • sudo service postgresql stop, aby zatrzymać działanie bazy danych.

Domyślny użytkownik administratora, postgres, wymaga hasła przypisanego w celu nawiązania połączenia z bazą danych. Aby ustawić hasło:

  1. Wprowadź polecenie: sudo passwd postgres
  2. Zostanie wyświetlony monit o wprowadzenie nowego hasła.
  3. Zamknij i otwórz ponownie terminal.

Aby uruchomić program PostgreSQL za pomocą powłoki psql:

  1. Uruchom usługę postgres: sudo service postgresql start
  2. Połącz się z usługą postgres i otwórz powłokę psql: sudo -u postgres psql

Po pomyślnym wprowadzeniu powłoki psql zobaczysz zmianę wiersza polecenia, aby wyglądała następująco: postgres=#

Notatka

Możesz też otworzyć powłokę psql, najpierw przełączając się na użytkownika postgres za pomocą polecenia: su - postgres, a potem wprowadzając polecenie: psql.

Aby zakończyć działanie postgres=# wprowadź: \q lub użyj skrótu: Ctrl+D

Aby zobaczyć, jakie konta użytkowników zostały utworzone podczas instalacji bazy danych PostgreSQL, użyj z poziomu terminalu programu WSL: psql --command="\du" ... lub po prostu \du, jeśli masz otwartą powłokę psql. To polecenie wyświetli kolumny: Nazwa użytkownika konta, Lista atrybutów ról i Członek grup ról. Aby wrócić do wiersza polecenia, wprowadź: q.

Aby uzyskać więcej informacji na temat pracy z bazami danych PostgreSQL, zobacz dokumentację PostgreSQL.

Aby pracować z bazami danych PostgreSQL w programie VS Code, wypróbuj rozszerzenie PostgreSQL.

Instalowanie bazy danych MongoDB

Aby zainstalować bazę danych MongoDB, zobacz dokumentację bazy danych Mongodb: Install MongoDB Community Edition on Linux

Instalowanie bazy danych MongoDB może wymagać nieco różnych kroków w zależności od dystrybucji systemu Linux używanej do instalacji. Należy również pamiętać, że instalacja bazy danych MongoDB może się różnić w zależności od wersji #, którą chcesz zainstalować. Użyj listy rozwijanej wersji w lewym górnym rogu dokumentacji bazy danych MongoDB, aby wybrać wersję zgodną z celem. Na koniec może być konieczne włączenia obsługi systemu w pliku konfiguracji wsl.conf dystrybucji systemu Linux używanej z usługą WSL. Polecenie systemctl jest częścią systemu systemd init i może nie działać, jeśli dystrybucja używa systemv.

Program VS Code obsługuje pracę z bazami danych MongoDB za pośrednictwem rozszerzenia usługi Azure CosmosDB, można tworzyć bazy danych MongoDB i wykonywać względem ich zapytania z poziomu programu VS Code. Aby dowiedzieć się więcej, odwiedź dokumentację programu VS Code: Praca z bazą danych MongoDB.

Dowiedz się więcej w dokumentacji bazy danych MongoDB:

Instalowanie programu Microsoft SQL Server

Szybki start: instalowanie programu SQL Server i tworzenie bazy danych w podsystemie Windows dla systemu Linux (WSL 2).

Instalowanie biblioteki SQLite

Aby zainstalować narzędzie SQLite w programie WSL (tj. Ubuntu:

  1. Otwórz terminal programu WSL (tj. Ubuntu).
  2. Aktualizowanie pakietów systemu Ubuntu: sudo apt update
  3. Po zaktualizowaniu pakietów zainstaluj narzędzie SQLite3 za pomocą polecenia: sudo apt install sqlite3
  4. Potwierdź instalację i uzyskaj numer wersji: sqlite3 --version

Aby utworzyć testową bazę danych o nazwie "example.db", wprowadź: sqlite3 example.db

Aby wyświetlić listę baz danych SQLite, wprowadź: .databases

Aby wyświetlić stan bazy danych, wprowadź: .dbinfo ?DB?

Baza danych będzie pusta po utworzeniu. Możesz utworzyć nową tabelę dla bazy danych przy użyciu CREATE TABLE empty (kol INTEGER);.

Teraz wprowadzenie .dbinfo ?DB? spowoduje wyświetlenie utworzonej bazy danych.

Aby zamknąć wiersz polecenia SQLite, wprowadź: .exit

Aby uzyskać więcej informacji na temat pracy z bazą danych SQLite, zobacz SQLite docs.

Aby pracować z bazami danych SQLite w programie VS Code, wypróbuj rozszerzenie SQLite.

Instalowanie usługi Redis

Aby zainstalować Redis w środowisku WSL (tj. Ubuntu):

  1. Otwórz terminal programu WSL (tj. Ubuntu).
  2. Aktualizowanie pakietów systemu Ubuntu: sudo apt update
  3. Po zaktualizowaniu pakietów zainstaluj usługę Redis za pomocą polecenia: sudo apt install redis-server
  4. Potwierdź instalację i uzyskaj numer wersji: redis-server --version

Aby rozpocząć uruchamianie serwera Redis: sudo service redis-server start

Sprawdź, czy Redis działa (redis-cli to narzędzie interfejsu wiersza polecenia do komunikacji z Redis): wykonaj polecenie "redis-cli ping", które powinno zwrócić odpowiedź "PONG".

Aby zatrzymać uruchamianie serwera Redis: sudo service redis-server stop

Aby uzyskać więcej informacji na temat pracy z bazą danych Redis, zobacz Redis docs.

Aby pracować z bazami danych Redis w programie VS Code, wypróbuj rozszerzenie Redis.

Wyświetlanie uruchomionych usług i konfigurowanie aliasów profilów

Aby wyświetlić usługi, które są aktualnie uruchomione w dystrybucji WSL, wprowadź: service --status-all

Wpisywanie sudo service mongodb start lub sudo service postgres start i sudo -u postgrest psql może być żmudne. Można jednak rozważyć skonfigurowanie aliasów w pliku .profile w programie WSL, aby te polecenia były szybsze i łatwiejsze do zapamiętania.

Aby skonfigurować własny niestandardowy alias lub skrót do wykonywania tych poleceń:

  1. Otwórz terminal programu WSL i wprowadź cd ~, aby upewnić się, że jesteś w katalogu głównym.

  2. Otwórz plik .profile, który kontroluje ustawienia terminalu, za pomocą edytora tekstu terminalu Nano: sudo nano .profile

  3. W dolnej części pliku (nie zmieniaj ustawień # set PATH), dodaj następujące elementy:

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

    Pozwoli to wprowadzić start-pg, aby rozpocząć uruchamianie usługi PostgreSQL i run-pg, aby otworzyć powłokę psql. Możesz zmienić start-pg i run-pg na dowolne nazwy, po prostu zachowaj ostrożność, aby nie zastąpić polecenia, które postgres już używa!

  4. Po dodaniu nowych aliasów zamknij edytor tekstu Nano, używając Ctrl+X — gdy pojawi się odpowiedni monit, wybierz Y (Tak) dla zapisania zmian i naciśnij Enter (pozostawiając nazwę pliku jako .profile).

  5. Zamknij i ponownie otwórz terminal programu WSL, a następnie spróbuj użyć nowych poleceń aliasu.

Rozwiązywanie problemów

Błąd: nieprawidłowy argument fdatasync synchronizacji katalogu

Upewnij się, że używasz dystrybucji systemu Linux w trybie WSL 2. Aby uzyskać pomoc dotyczącą przełączania z programu WSL 1 do WSL 2, zobacz Set your distribution version to WSL 1 or WSL 2(Ustawianie wersji dystrybucji na WSL 1 lub WSL 2).

Dodatkowe zasoby