在 ServBay 中重設資料庫密碼指南
在使用 ServBay 本地開發環境進行 Web 開發時,管理資料庫(如 MySQL、MariaDB、PostgreSQL、Redis)是核心任務之一。有時,因為安全需求、忘記密碼或其他原因,您可能需要重設資料庫使用者的密碼。本文將為您提供在 ServBay 中安全又高效地重設這些主流資料庫密碼的詳細指南,涵蓋圖形介面與命令列兩種方法。
請注意,不同版本資料庫在 ServBay 中的具體配置及路徑可能略有差異,操作時請依照您實際使用的版本為主。
重設 MySQL/MariaDB root
密碼
TIP
重設 MySQL 及 MariaDB 資料庫的 root
使用者密碼操作步驟基本一致。本節以 MariaDB 為例說明。
MySQL 和 MariaDB 是廣泛使用的關聯式資料庫管理系統,在 ServBay 中也是重要的組成部分。本節將詳細介紹如何於 ServBay 環境下重設 MySQL 和 MariaDB 的 root
使用者密碼。
以下以 ServBay 內建的 MariaDB 11.3
版本為例示範。
方法一:使用 ServBay 圖形介面重設 MariaDB root
密碼
ServBay 提供了一個便利的圖形介面,讓您能夠快速地重設資料庫的 root
使用者密碼。
- 啟動 ServBay 應用程式。
- 於左側導覽欄展開「資料庫」,接著選擇「MariaDB」,再選擇欲重設密碼的指定版本(如:
MariaDB 11.3
)。 - 在右側的套件詳情頁面中,找到「密碼」輸入框。
- 點擊「密碼」輸入框右側的鎖頭圖示。
- 系統會跳出確認重設
root
使用者密碼的提示,請點擊「確認」。 - 資料庫的
root
使用者密碼將被重設為 ServBay 的預設密碼:ServBay.dev
。
方法二:使用命令列重設 MariaDB root
密碼
對於進階使用者,或是需要自動化部署情境,也可透過命令列方式重設 MariaDB 的 root
密碼。這通常涉及在跳過權限驗證的情況下啟動資料庫服務。
以下步驟以 MariaDB 11.3
版本為例,請依據您實際安裝的版本調整路徑與指令。
停止 MariaDB 服務: 使用 ServBay 控制工具停止 MariaDB 服務。
bashservbayctl stop mariadb 11.3
1請將
mariadb 11.3
替換為您正在使用的 MariaDB 版本識別字。以安全模式啟動 MariaDB: 於跳過授權表(grant tables)與網路連線的情況下啟動 MariaDB,讓您可以無密碼登入。
bash/Applications/ServBay/package/mariadb/11.3/current/bin/mysqld_safe --skip-grant-tables --skip-networking &
1此路徑
/Applications/ServBay/package/mariadb/11.3/current/bin/mysqld_safe
為 ServBay 內 MariaDB 的執行檔,--skip-grant-tables
允許任何使用者無密碼登入且擁有全部權限,--skip-networking
則防止外部連線提升安全性,&
表示在背景執行。登入 MariaDB: 使用
mysql
客戶端以root
身份登入。因啟動安全模式,此時無需輸入密碼。bash/Applications/ServBay/package/mariadb/11.3/current/bin/mysql -u root
1/Applications/ServBay/package/mariadb/11.3/current/bin/mysql
是 MariaDB 客戶端執行檔的路徑。重設密碼: 登入後,執行以下 SQL 指令以變更
root
使用者的密碼。sqlFLUSH PRIVILEGES; -- 刷新權限,以確保後續 ALTER USER 指令有效 ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; -- 將 'new_password' 替換為您要設定的新密碼 FLUSH PRIVILEGES; -- 再次刷新權限
1
2
3請將
'new_password'
替換為您欲設定的強密碼。除特殊需求外,建議勿使用預設密碼ServBay.dev
。離開 MariaDB: 密碼重設完成後,離開
mysql
客戶端。sqlexit;
1停止安全模式下的 MariaDB 服務: 停止剛剛以安全模式啟動的 MariaDB 進程。您可使用
servbayctl stop
或自行查找/終止背景中的mysqld_safe
進程。建議優先使用servbayctl stop
。bashservbayctl stop mariadb 11.3
1若
servbayctl stop
無法停止以mysqld_safe &
啟動的進程,可用ps aux | grep mysqld_safe
查找進程 ID,然後以kill <PID>
強制終止。重新啟動 MariaDB 服務: 以正常模式重啟 MariaDB 服務,新密碼即開始生效。
bashservbayctl start mariadb 11.3
1
重設 PostgreSQL 密碼
PostgreSQL 是功能強大且廣受歡迎的開源物件關聯式資料庫系統。以下是在 ServBay 中重設 PostgreSQL 使用者密碼的步驟。通常需重置的是 ServBay 所建立的預設管理員使用者密碼。
接下來以 ServBay 所整合的 PostgreSQL 16
版本為例示範。
重設 PostgreSQL 密碼流程
重設 PostgreSQL 密碼通常需暫時修改認證設定檔 pg_hba.conf
,以便本機能跳過密碼認證,之後再透過 SQL 指令變更密碼。
尋找 PostgreSQL 管理員帳號: 首先找出您要重設密碼的 PostgreSQL 使用者名稱,可於 ServBay 的圖形介面取得。 開啟 ServBay 管理面板,依序導覽至「資料庫」 -> 「PostgreSQL」-> 選擇您的 PostgreSQL 版本(如
PostgreSQL 16
)。於右側詳情頁「Account」欄記錄管理員帳號名稱,一般 ServBay 會預設建立一個帳號(如servbay
)。停止 PostgreSQL 服務: 使用 ServBay 控制指令停止 PostgreSQL 服務。
bashservbayctl stop postgresql 16
1請將
postgresql 16
替換為實際所用之 PostgreSQL 版本識別字。備份
pg_hba.conf
檔案:pg_hba.conf
為 PostgreSQL 的客戶端認證設定檔。編輯前建議先備份,以便日後還原。bashcp /Applications/ServBay/db/postgresql/16/pg_hba.conf /Applications/ServBay/db/postgresql/16/pg_hba.conf.bak
1此路徑
/Applications/ServBay/db/postgresql/16/
為 ServBay 內 PostgreSQL 資料目錄下的設定檔資料夾,請依自身安裝與版本調整。編輯
pg_hba.conf
,暫時移除密碼認證: 使用文字編輯器或命令列工具修改pg_hba.conf
設定檔,將本機連線的認證方式從密碼認證(如scram-sha-256
或md5
)暫時改為信任模式(trust
),讓本地連線可免密碼登入。bashsed -i '' 's/scram-sha-256/trust/g' /Applications/ServBay/db/postgresql/16/pg_hba.conf
1這條
sed
指令會於 macOS 將/Applications/ServBay/db/postgresql/16/pg_hba.conf
內所有scram-sha-256
替換為trust
。如設定檔內用的是md5
,則請將命令改為s/md5/trust/g
。sed -i ''
表示直接修改本檔案。啟動 PostgreSQL 服務: 重新啟動 PostgreSQL 服務,使
pg_hba.conf
設定生效。bashservbayctl start postgresql 16
1進入
psql
命令列工具: 使用psql
客戶端連線至 PostgreSQL 資料庫。因已設信任認證,此時無需密碼即可登入。bashpsql -h /Applications/ServBay/tmp -U <第一步取得的帳號> postgres # 例:psql -h /Applications/ServBay/tmp -U servbay postgres
1
2請將
<第一步取得的帳號>
替換為第一步查得的實際帳號(如servbay
),-h /Applications/ServBay/tmp
指定 ServBay Unix domain socket,-U
指定用戶,postgres
為預設資料庫名。重設密碼: 於
psql
提示符下執行 SQL 指令更改使用者密碼。sqlALTER USER <第一步取得的帳號> WITH PASSWORD 'new_password'; -- 例:ALTER USER servbay WITH PASSWORD 'new_password';
1
2將
<第一步取得的帳號>
替為實際名稱,'new_password'
改為您設定的強密碼。離開
psql
: 密碼重設完成後,退出psql
客戶端。sql\q
1停止 PostgreSQL 服務: 停止 PostgreSQL 服務以還原
pg_hba.conf
設定。bashservbayctl stop postgresql 16
1還原
pg_hba.conf
檔案: 將先前備份的pg_hba.conf.bak
還原,恢復密碼認證,確保資料庫安全。bashcp /Applications/ServBay/db/postgresql/16/pg_hba.conf.bak /Applications/ServBay/db/postgresql/16/pg_hba.conf
1重新啟動 PostgreSQL 服務: 以正常的密碼認證模式啟動 PostgreSQL 服務。
bashservbayctl start postgresql 16
1現在您應可用新設定的密碼連線 PostgreSQL 資料庫。
重設 Redis 密碼
Redis 是一套高效能、開源的記憶體資料結構存儲系統,常作為資料庫、快取及訊息代理使用。以下為在 ServBay 中重設 Redis 密碼的方法。
方法一:使用 ServBay 圖形介面重設 Redis 密碼
ServBay 提供直覺的方式來管理 Redis 密碼。
- 開啟 ServBay 應用程式。
- 於左側導覽欄展開「資料庫」,點選「NoSQL」再選「Redis」。
- 於右側 Redis 詳情頁中,尋找「密碼」輸入框。
- 在「密碼」欄中輸入您欲設定的新密碼。若先前未設密碼,輸入框可能為空。
- 點擊輸入框旁的「儲存」按鈕。
- ServBay 會自動重啟 Redis 服務使新密碼生效。
方法二:編輯 redis.conf
實現密碼重設
您也可直接編輯 Redis 的組態檔 redis.conf
來設定或更改密碼。
開啟 Redis 設定檔: 以文字編輯器打開 ServBay 內 Redis 的設定檔,路徑通常在 ServBay 的設定目錄下。
bashvim /Applications/ServBay/package/etc/redis/redis.conf
1可用
vim
、nano
或其他編輯器,請依安裝路徑調整檔案位置。找到並修改
requirepass
: 在redis.conf
檔案中查找以requirepass
開頭的行。若該行被註解(以#
開頭),請去除#
,將其值改為新密碼。plaintextrequirepass your_new_strong_password
1將
your_new_strong_password
替換為您欲設定的強密碼。儲存並離開編輯器: 儲存對
redis.conf
的修改後離開。重新啟動 Redis 服務: 透過 ServBay 控制工具重啟 Redis 服務,讓組態變更生效。
bashservbayctl restart redis -all
1此命令將重啟 ServBay 內所有 Redis 執行個體。
總結
重設資料庫密碼是資料庫日常管理的重要任務。經由本指南,您已學會如何於 ServBay 本地開發環境中重設 MySQL/MariaDB、PostgreSQL 及 Redis 等主流資料庫的密碼。無論是透過 ServBay 的圖形介面,或是經由命令列工具,只要熟悉這些重設步驟,即可協助您在遺忘密碼或需強化安全時,第一時間恢復資料庫的存取。請務必妥善保存新密碼,並建議採用強密碼策略,確保您的本地開發環境及資料安全無虞。