共用方式為


開始使用適用於Linux的 Windows 子系統資料庫

本逐步指南將協助您開始將WSL中的項目連線到資料庫。 開始使用 MySQL、PostgreSQL、MongoDB、Redis、Microsoft SQL Server 或 SQLite。

先決條件

資料庫系統之間的差異

資料庫系統 的一些 熱門選擇包括:

MySQL 是開放原始碼 SQL 關係資料庫,將數據組織成一或多個數據表,其中數據類型可能會彼此相關。 它具有垂直擴展能力,這意味著一台高效能機器可以為您完成工作。 它目前是四個資料庫系統中最廣泛使用的。

PostgreSQL(有時稱為 Postgres)也是開放原始碼 SQL 關係資料庫,強調擴充性和標準合規性。 它現在也可以處理 JSON,但通常更適合結構化數據、垂直調整和符合 ACID 規範的需求,例如電子商務和金融交易。

Microsoft SQL Server 包括 Windows 上的 SQL Server、Linux 上的 SQL Server 和 Azure 上的 SQL。 這些也是在伺服器上設定的關係資料庫管理系統,其主要功能是儲存和擷取軟體應用程式所要求的數據。

SQLite 是一個開放原始碼的自主、檔案型、無伺服器資料庫,以其可移植性、可靠性和良好的效能而聞名,即使在記憶體不足的環境中也是如此。

MongoDB 是開放原始碼 NoSQL 檔資料庫,其設計目的是使用 JSON 並儲存無架構的數據。 其可水平調整,這表示多個較小的機器會為您執行工作。 它適用於彈性和非結構化資料,以及即時分析的快取。

Redis 是開放原始碼 NoSQL 記憶體內部數據結構存放區。 它會使用索引鍵/值組來儲存,而不是檔。

安裝 MySQL

若要在 WSL 上執行的 Linux 發行版上安裝 MySQL,請遵循在 Linux 上安裝 MySQL MySQL 檔中的指示。您可能需要先在 設定檔中啟用系統支援 wsl.conf

使用Ubuntu發行版本的範例:

  1. 開啟您的Ubuntu命令行並更新可用的套件:sudo apt update
  2. 套件更新後,請使用以下命令安裝 MySQL: sudo apt install mysql-server
  3. 確認安裝並取得版本號碼:mysql --version
  4. 啟動 MySQL Server /檢查狀態:systemctl status mysql
  5. 若要開啟 MySQL 提示字元,請輸入:sudo mysql
  6. 若要查看可用的資料庫,請在 MySQL 提示字元中輸入: SHOW DATABASES;
  7. 若要建立新的資料庫,請輸入:CREATE DATABASE database_name;
  8. 若要刪除資料庫,請輸入: DROP DATABASE database_name;

如需使用 MySQL 資料庫的詳細資訊,請參閱 MySQL 檔

若要在 VS Code 中使用 MySQL 資料庫,請嘗試 MySQL 擴充功能。

您也可以執行包含的安全性腳本。 這會變更遠端根登入和範例使用者等某些較不安全的預設選項。 此腳本也包含變更 MySQL 根用戶密碼的步驟。 要執行安全性腳本:

  1. 啟動 MySQL 伺服器:sudo service mysql start
  2. 啟動安全腳本提示:sudo mysql_secure_installation
  3. 第一個提示會詢問您是否要設定 VALIDATE PASSWORD COMPONENT,這可用來測試 MySQL 密碼的強度。 如果您想要設定一些簡單的密碼,則不應該設定此元件。
  4. 然後,您將設定/變更 MySQL 根使用者的密碼、決定是否要移除匿名使用者、決定是否要允許根使用者同時在本機和遠端登入、決定是否要移除測試資料庫,最後決定是否要立即重載許可權數據表。

安裝 PostgreSQL

在 WSL 上安裝 PostgreSQL (即:Ubuntu):

  1. 開啟您的 WSL 終端機 (即Ubuntu)。
  2. 更新Ubuntu套件:sudo apt update
  3. 套件更新之後,使用以下指令安裝 PostgreSQL(以及包含一些實用工具的 -contrib 套件): sudo apt install postgresql postgresql-contrib
  4. 確認安裝並取得版本號碼:psql --version

安裝 PostgreSQL 之後,您需要知道 3 個命令:

  • sudo service postgresql status 用於檢查資料庫的狀態。
  • sudo service postgresql start 命令用於啟動您的資料庫。
  • sudo service postgresql stop 停止運行您的資料庫。

默認系統管理員使用者 postgres需要指派密碼才能連線到資料庫。 若要設定密碼:

  1. 輸入命令:sudo passwd postgres
  2. 您將會收到輸入新密碼的提示。
  3. 關閉並重新開啟您的終端機。

若要在 psql 命令介面中執行 PostgreSQL:

  1. 啟動 postgres 服務:sudo service postgresql start
  2. 連線至 postgres 服務並開啟 psql 命令列:sudo -u postgres psql

成功輸入 psql 殼層後,您會看到指令列變更,看起來像這樣:postgres=#

注意

您也可以切換至 postgres 使用者,然後使用命令 su - postgres 開啟 psql 殼層,接著輸入命令:psql

若要退出 postgres=#,輸入:\q,或使用快捷鍵:Ctrl+D

若要查看 PostgreSQL 安裝上已建立的使用者帳戶,請使用 WSL 終端機中的使用者帳戶:psql --command="\du" ...或者,如果您已開啟 psql 殼層,則只 \du。 此命令會顯示數據行:帳戶用戶名稱、角色屬性清單,以及角色群組的成員。 若要返回指令列,請輸入:q

如需使用PostgreSQL資料庫的詳細資訊,請參閱 PostgreSQL 檔

若要在 VS Code 中使用 PostgreSQL 資料庫,請嘗試 PostgreSQL 擴充功能。

安裝 MongoDB

若要安裝 MongoDB,請參閱 Mongodb 檔:在 Linux 上安裝 MongoDB Community Edition

視用於安裝的Linux發行版而定,安裝 MongoDB 可能需要稍微不同的步驟。 另請注意,MongoDB 安裝可能會因您要安裝的版本 #而有所不同。 使用 MongoDB 檔案左上角的版本下拉式清單,選取符合您目標的版本。 最後,您可能需要在與 WSL 搭配使用的 Linux 發行版 組態檔中,wsl.confsystemctl 命令是 systemd init 系統的一部分,如果您的發行版使用 systemv,可能無法運作。

VS Code 支援透過 Azure CosmosDB 擴充功能使用 MongoDB 資料庫,您可以從 VS Code 中建立、管理和查詢 MongoDB 資料庫。 若要深入瞭解,請瀏覽 VS Code 檔案:使用 MongoDB

在 MongoDB 檔中深入瞭解:

安裝 Microsoft SQL Server

快速入門:在適用於 Linux 的 Windows 子系統上安裝 SQL Server 並建立資料庫 (WSL 2)

安裝 SQLite

在 WSL 上安裝 SQLite (即:Ubuntu):

  1. 開啟您的 WSL 終端機 (即Ubuntu)。
  2. 更新Ubuntu套件:sudo apt update
  3. 套件更新之後,請使用以下命令安裝 SQLite3: sudo apt install sqlite3
  4. 確認安裝並取得版本號碼:sqlite3 --version

若要建立名為 「example.db」 的測試資料庫,請輸入: sqlite3 example.db

若要查看 SQLite 資料庫的清單,請輸入:.databases

若要查看資料庫的狀態,請輸入:.dbinfo ?DB?

建立之後,資料庫將會是空的。 您可以使用 CREATE TABLE empty (kol INTEGER);為資料庫建立新的資料表。

現在輸入 .dbinfo ?DB? 會顯示您已建立的資料庫。

若要結束 SQLite 提示,請輸入:.exit

如需使用 SQLite 資料庫的詳細資訊,請參閱 SQLite 檔案

若要在 VS Code 中使用 SQLite 資料庫,請嘗試 SQLite 擴充功能。

安裝 Redis

在 WSL 上安裝 Redis (即:Ubuntu):

  1. 開啟您的 WSL 終端機 (即Ubuntu)。
  2. 更新Ubuntu套件:sudo apt update
  3. 套件更新之後,請使用以下命令安裝 Redis:sudo apt install redis-server
  4. 確認安裝並取得版本號碼:redis-server --version

若要開始啟動 Redis 伺服器:sudo service redis-server start

檢查 redis 是否正常運作(redis-cli 是與 Redis 交談的命令行介面公用程式):redis-cli ping 這應該會傳回 “PONG” 的回復。

若要停止執行 Redis 伺服器:sudo service redis-server stop

如需使用 Redis 資料庫的詳細資訊,請參閱 Redis 檔案

若要在 VS Code 中使用 Redis 資料庫,請嘗試 Redis 擴充功能。

查看已運行的服務並設定配置檔的別名

若要查看您目前在 WSL 發行版上執行的服務,請輸入:service --status-all

輸入 sudo service mongodb startsudo service postgres startsudo -u postgrest psql 可能會變得乏味。 不過,您可以考慮在 WSL 上的 .profile 檔案中設定別名,讓這些命令更快速使用且更容易記住。

若要設定您自己的自訂別名或快捷方式,以執行下列命令:

  1. 開啟 WSL 終端機,然後輸入 cd ~,以確定您位於根目錄中。

  2. 使用終端機文本編輯器 Nano:.profile 開啟 sudo nano .profile 檔案,以控制終端機的設定

  3. 在檔案底部(不要變更 # set PATH 設定),新增下列內容:

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

    這可讓您輸入 start-pg 來啟動 postgresql 服務,並輸入 run-pg 來開啟 psql 殼層。 您可以將 start-pgrun-pg 變更為您想要的任何名稱,請小心不要覆寫 postgres 已使用的命令!

  4. 新增別名之後,請使用 Ctrl+X 結束 Nano 文本編輯器,並在系統提示您儲存時選擇 Y (是),然後按下 Enter (將檔名保留為 .profile)。

  5. 關閉並重新開啟 WSL 終端機,然後嘗試新的別名命令。

故障排除

錯誤:目錄同步 fdatasync 無效自變數

請確定您是在 WSL 2 模式中執行 Linux 發行版。 如需從 WSL 1 切換至 WSL 2 的說明,請參閱 將您的發行版設定為 WSL 1 或 WSL 2

其他資源