安裝 PostgreSQL 8.x, non-installer version

發表於 | 10.26.2008 | 無回應

PostgreSQL 7.x 與 8.x 在安裝條件上有很大的不同.

7.x 需在 UNIX 的環境下, Windows 下則得透過 CygwinW (Linux-like environment for Windows) 實現; 而 8.x 則已支援 Windows 的系統, PostgreSQL 的網站在 8.0 以後皆提供了 win32 binaries.

選擇 non-installer version 的理由除了與 MySQL 一樣外, 主要因為是 PostgreSQL 的 installer 會自動為 Windows 新增一位在本機上受限制的使用者(postgres), 其用意是藉由他來執行在 Windows 上 PostgreSQL 所提供的服務, 以避免安全性的問題; 但以下的作法是由本機系統(Administrator\USER) 來啟動 PostgreSQL 的服務, 使用資料庫的角色(role)在本機伺服器端實際上並不存在, 而是由一個幽靈使用者(以下以 root 為例)所管理.

將 binaries-no-installer.zip 解壓縮到 PATH\TO\PostgreSQL
新增 PATH\TO\PostgreSQL 到 Windows 的 PATH 環境變數裡
新增目錄 PATH\TO\PostgreSQL\data

執行命令提示字元(cmd.exe), 進入 PATH\TO\PostgreSQL\bin, 執行以下命令

產生必要的資料庫檔案及指定格式, 並建立管理員(root), 且在後續的作業中指定密碼
> initdb.exe -D PATH\TO\PostgreSQL\data -E UTF8 --locale=C -U root -W

階段性啟動資料庫
> pg_ctl.exe -D PATH\TO\PostgreSQL\data -l logfile start

或註冊一個名為 PostgreSQL 的服務
> pg_ctl.exe register -D PATH\TO\PostgreSQL\data -N PostgreSQL

啟動服務
> net start PostgreSQL

停止服務
> net stop PostgreSQL

安裝 MySQL 5.x , non-installer version

發表於 | 10.20.2008 | 無回應

為何要安裝 non-installer version...?
嗯, 因為這樣才有 UNIX-LIKE 的感覺; 當然移除時很快, 整個目錄砍掉即可

請連上 MySQL, 選擇 MySQL Community Server 版本(免費)

解壓縮到 PATH\TO\MySQL
新增 PATH\TO\MySQL 到 Windows 的 PATH 環境變數裡
將 my-medium.ini 複製並更名為 my.cnf

以記事本編輯 my.cnf 內之以下區段

[client]
socket = PATH/TO/DIR/mysql.sock
[mysqld]
basedir = PATH/TO/MySQL
datadir = PATH/TO/MySQL/data
socket = PATH/TO/DIR/mysql.sock

執行命令提示字元(cmd.exe), 進入 PATH\TO\MySQL\bin, 執行以下命令

安裝一個名為 MySQl 的服務, 並指定其組態檔
> mysqld --install MySQL --defaults-file=PATH\TO\MySQL\my.cnf

啟動服務
> net start MySQL

停止服務
> net stop MySQL

移除服務
> mysqld --remove MySQL