本逐步指南將協助您開始將WSL中的項目連線到資料庫。 開始使用 MySQL、PostgreSQL、MongoDB、Redis、Microsoft SQL Server 或 SQLite。
先決條件
- 執行 Windows 11 或 Windows 10,更新到版本 2004,建置 19041 或更高版本。
- 使用 WSL 安裝 Linux 發行版,並在建立 Linux 使用者名稱和密碼。
資料庫系統之間的差異
資料庫系統 的一些 熱門選擇包括:
- MySQL (SQL)
- PostgreSQL (SQL)
- Microsoft SQL Server (SQL)
- SQLite (SQL)
- MongoDB (NoSQL)
- Redis (NoSQL)
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發行版本的範例:
- 開啟您的Ubuntu命令行並更新可用的套件:
sudo apt update
- 套件更新後,請使用以下命令安裝 MySQL:
sudo apt install mysql-server
- 確認安裝並取得版本號碼:
mysql --version
- 啟動 MySQL Server /檢查狀態:
systemctl status mysql
- 若要開啟 MySQL 提示字元,請輸入:
sudo mysql
- 若要查看可用的資料庫,請在 MySQL 提示字元中輸入:
SHOW DATABASES;
- 若要建立新的資料庫,請輸入:
CREATE DATABASE database_name;
- 若要刪除資料庫,請輸入:
DROP DATABASE database_name;
如需使用 MySQL 資料庫的詳細資訊,請參閱 MySQL 檔。
若要在 VS Code 中使用 MySQL 資料庫,請嘗試 MySQL 擴充功能。
您也可以執行包含的安全性腳本。 這會變更遠端根登入和範例使用者等某些較不安全的預設選項。 此腳本也包含變更 MySQL 根用戶密碼的步驟。 要執行安全性腳本:
- 啟動 MySQL 伺服器:
sudo service mysql start
- 啟動安全腳本提示:
sudo mysql_secure_installation
- 第一個提示會詢問您是否要設定 VALIDATE PASSWORD COMPONENT,這可用來測試 MySQL 密碼的強度。 如果您想要設定一些簡單的密碼,則不應該設定此元件。
- 然後,您將設定/變更 MySQL 根使用者的密碼、決定是否要移除匿名使用者、決定是否要允許根使用者同時在本機和遠端登入、決定是否要移除測試資料庫,最後決定是否要立即重載許可權數據表。
安裝 PostgreSQL
在 WSL 上安裝 PostgreSQL (即:Ubuntu):
- 開啟您的 WSL 終端機 (即Ubuntu)。
- 更新Ubuntu套件:
sudo apt update
- 套件更新之後,使用以下指令安裝 PostgreSQL(以及包含一些實用工具的 -contrib 套件):
sudo apt install postgresql postgresql-contrib
- 確認安裝並取得版本號碼:
psql --version
安裝 PostgreSQL 之後,您需要知道 3 個命令:
-
sudo service postgresql status
用於檢查資料庫的狀態。 -
sudo service postgresql start
命令用於啟動您的資料庫。 -
sudo service postgresql stop
停止運行您的資料庫。
默認系統管理員使用者 postgres
需要指派密碼才能連線到資料庫。 若要設定密碼:
- 輸入命令:
sudo passwd postgres
- 您將會收到輸入新密碼的提示。
- 關閉並重新開啟您的終端機。
若要在 psql 命令介面中執行 PostgreSQL:
- 啟動 postgres 服務:
sudo service postgresql start
- 連線至 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.conf
。
systemctl
命令是 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):
- 開啟您的 WSL 終端機 (即Ubuntu)。
- 更新Ubuntu套件:
sudo apt update
- 套件更新之後,請使用以下命令安裝 SQLite3:
sudo apt install sqlite3
- 確認安裝並取得版本號碼:
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):
- 開啟您的 WSL 終端機 (即Ubuntu)。
- 更新Ubuntu套件:
sudo apt update
- 套件更新之後,請使用以下命令安裝 Redis:
sudo apt install redis-server
- 確認安裝並取得版本號碼:
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 start
或 sudo service postgres start
和 sudo -u postgrest psql
可能會變得乏味。 不過,您可以考慮在 WSL 上的 .profile
檔案中設定別名,讓這些命令更快速使用且更容易記住。
若要設定您自己的自訂別名或快捷方式,以執行下列命令:
開啟 WSL 終端機,然後輸入
cd ~
,以確定您位於根目錄中。使用終端機文本編輯器 Nano:
.profile
開啟sudo nano .profile
檔案,以控制終端機的設定在檔案底部(不要變更
# 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-pg
和run-pg
變更為您想要的任何名稱,請小心不要覆寫 postgres 已使用的命令!新增別名之後,請使用 Ctrl+X 結束 Nano 文本編輯器,並在系統提示您儲存時選擇
Y
(是),然後按下 Enter (將檔名保留為.profile
)。關閉並重新開啟 WSL 終端機,然後嘗試新的別名命令。
故障排除
錯誤:目錄同步 fdatasync 無效自變數
請確定您是在 WSL 2 模式中執行 Linux 發行版。 如需從 WSL 1 切換至 WSL 2 的說明,請參閱 將您的發行版設定為 WSL 1 或 WSL 2。
其他資源
- 在 Windows 上設定開發環境