主機
瞭解如何在 Adobe Dreamweaver 中設定 MySQL、建立 MySQL 資料庫連線,以及使用 MySQL 公用程式。
本文適用於使用執行 PHP 5x 伺服器的 Dreamweaver Creative Suite 使用者。
如果您使用 Dreamweaver,請參閱下列文件以瞭解關於資料庫連線的資訊:
概觀
本文描述在 Dreamweaver 中使用 PHP 伺服器模式時,建立成功的 MySQL 資料庫連線所需的幾個重要因素。 也涵蓋一些基本 MySQL 使用者帳戶設定。 本文會假設您已在本機或遠端電腦上安裝並設定 MySQL。
如果未正確完成設定,則 Dreamweaver 會發生錯誤。 在 Dreamweaver 中測試 MySQL 連線時可能會出現的常見錯誤為「發生無法辨識的錯誤。」
注意: 本內容提供快速入門的基本指南。 若要量身打造 MySQL 帳戶設定以切合您的特定安全性需求,請參閱 MySQL 文件及其他協力廠商資源。 若要下載和安裝 MySQL,請造訪 MySQL 網站。
MySQL 設定
MySQL 資料庫系統的預設安裝含有兩個名為 mysql 和 test 的資料庫。 mysql 資料庫含有六個儲存權限相關資訊的表格。 本區段將討論其中兩個表格: user 表格和 db 表格。
user 表格會儲存有關誰可以連線至 MySQL 伺服器,以及該使用者是否具有任何全域等級權限等資訊。 因為 user 表格中的權限會影響 MySQL 伺服器上的所有資料庫,因此管理員的權限欄位中通常會有一些 Y (yes),而多數標準使用者只會有 N (no)。 db 表格會指定 MySQL 伺服器上允許使用者存取的資料庫,而且此表格是大部分標準使用者權限的儲存位置。
注意: 許多協力廠商的圖形介面公用程式可協助您從視覺上管理 MySQL 資料庫,不過,本文則使用原生的 MySQL 命令列用戶端。
無論您在 UNIX、Windows 或是 Mac OS X 機器上安裝 MySQL,您都可以透過命令提示視窗來管理 MySQL。 在 Windows 中,選擇「開始 > 程式 > 命令提示字元」。 (在某些系統上,命令提示字元可能位於「開始 > 程式功能表」的「附屬應用程式」中。)
在命令提示字元輸入下列命令,以變更至 mysql\bin 目錄:
> cd\> cd mysql\bin
在 MySQL 安裝期間,MySQL 會建立名為 root 的無密碼帳戶,該帳戶可用來登入資料庫。 Adobe 強烈建議為此帳戶指派密碼,因為 root 對 MySQL 資料庫有完整控制權限。 若要為 root 帳戶指派密碼,請執行以下命令,將 root 密碼設定為 new-password。 將 new-password 取代為您選擇的更安全密碼。
> mysqladmin -u root password new-password
為各個 PHP Web 應用程式建立 MySQL 帳戶。 您可以建立無限數量的 MySQL 帳戶,並為各個帳戶指ˇ派不同的權利和權限。 網路應用程式使用者不需要與 root 帳戶相同等級的權限。
若要為您的網路應用程式建立單獨的使用者帳戶,請連線到 MySQL,並透過以下其中一種方法使用進階使用者帳戶登入: 在下方範例中,具有進階使用者權限的帳戶是 root 帳戶。 當您按下 Enter 鍵時,MySQL 會提示您輸入密碼:
> mysql --user=root --password
或
> mysql -uroot -p
登入 MySQL 後,您會為網路應用程式建立名為 dbuser (可任意命名) 的使用者。 以下為設定此類新使用者的四種範例方法。 在這四個範例中,會建立名為 dbuser 的新使用者。 授予此使用者的四個權限為 SELECT、INSERT、UPDATE 以及 DELETE,可在 employ es 資料庫內的任何表格上使用 (此資料庫在以下範例中稱為 emp)。 密碼 myPassword 在 MySQL 資料庫中會加密。
- 在此範例中,dbuser 只能從 localhost
存取資料庫: GRANT SELECT, INSERT, UPDATE, DELETE ON emp.* TO dbuser@localhost IDENTIFIED BY "myPassword"; - 在此範例中,dbuser 只能從 mySite
存取資料庫:GRANT SELECT, INSERT, UPDATE, DELETE ON emp.* TO dbuser@mySite IDENTIFIED BY "myPassword"; - 在此範例中,dbuser 只能從 mySite.myDomain.com 存取資料庫:
GRANT SELECT, INSERT, UPDATE, DELETE ON emp.* TO dbuser@mySite.myDomain.com IDENTIFIED BY "myPassword"; - 在此範例中,dbuser 可以從任何主機存取資料庫:
GRANT SELECT, INSERT, UPDATE, DELETE ON emp.* TO dbuser@"%" IDENTIFIED BY "myPassword";
執行 GRANT 陳述式後,執行下列命令從 emp 資料庫切換回 mysql 資料庫:
>use mysql
若要檢視對主要 mysql 資料庫中 db 表格所做的變更,請執行下列 SQL 陳述式:
SELECT Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv FROM db WHERE User='dbuser';
如果您執行上列所有 GRANT 陳述式,則 db 資料表會顯示如下:
|
|
Db |
使用者 |
Select_ |
Insert_ |
Update_ |
Delete_ |
|
localhost |
emp |
dbuser |
Y |
Y |
Y |
Y |
|
mySite |
emp |
dbuser |
Y |
Y |
Y |
Y |
|
mySite. |
emp |
dbuser |
Y |
Y |
Y |
Y |
|
% |
emp |
dbuser |
Y |
Y |
Y |
Y |
若要檢視對主要 mysql 資料庫中使用者表格所做的變更,請執行下列 SQL 陳述式:
SELECT Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv FROM user WHERE User='dbuser';
如果您執行上列所有 GRANT 陳述式,則 user 資料表會顯示如下:
|
主機 |
使用者 |
Select_ |
Insert_ |
Update_ |
Delete_ |
|
localhost |
dbuser |
N |
N |
N |
N |
|
mySite |
dbuser |
N |
N |
N |
N |
|
mySite. |
dbuser |
N |
N |
N |
N |
|
% |
dbuser |
N |
N |
N |
N |
注意: 為了安全起見,請勿修改user 資料表中的 dbuser 帳戶,除非該帳戶需要類似 root 或 MySQL 管理員帳戶的管理員權限。 如果您獲得這些權限,dbuser 便可以存取系統資料庫。
MySQL 會在啟動時以及發佈 GRANT 和 REVOKE 陳述式時自動讀取 user 和 db 表格。 如果您對 user 和 db 表格進行任何手動變更,請重新載入表格以使用此指令處理變更:
> flush privileges;
在 Dreamweaver 中設定 PHP/MySQL 網站定義
在 Dreamweaver 中是否能成功連線到 MySQL 資料庫取決於定義網站時的正確網站定義項目。 以下是在識別為 mySite.myDomain.com 的機器上執行使用 Linux PHP 伺服器的 PHP/MySQL 網站定義範例。 MySQL 在另一部識別為 mysql1.mDomain.com 的機器上執行,而 Dreamweaver 則在本機工作站上執行。 FTP 是用來在工作站和 Linux 網頁伺服器之間傳輸檔案。
- 本地資訊:
- 網站名稱: mySite
- 本機根資料夾: C:\mySite\
- 遠端資訊:
- 存取: FTP
- FTP 主機: mySite.myDomain.com
- 主機目錄: /htdocs/
- 登入: webadmin
- 密碼: *********
- 測試伺服器:
- 伺服器模式: PHP/MySQL
- 存取: FTP
- FTP 主機: mySite.myDomain.com
- 主機目錄: /htdocs/
- 登入: webadmin
- 密碼: *********
- URL 首碼: http://mySite.myDomain.com/
在 Dreamweaver 中建立 MySQL 資料庫連線
MySQL 公用程式
第三方工具可協助您在不瞭解 SQL 的情況下設定和管理 MySQL 資料庫。 如果您偏好透過視覺化介面來使用資料庫,而非使用命令列介面,這些工具就相當有幫助。 您可以透過執行 MySQL 資料庫的機器或本機工作站下載和安裝這些工具。 一些受歡迎的工具包括 PHPMyAdmin、EMS MySQL Manager、urSQL 以及 PremuimSoft MySQL Studio。