本逐步指南將協助您開始將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 (以及具有一些實用公用程式的 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 ~,以確定您位於根目錄中。使用
.profile終端機文字編輯器 Nano 開啟檔案,以控制終端機的設定: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 上設定開發環境