MySQL 有許多圖形化的管理工具,我們在此介紹二個官方的工具「MySQL Administrator」及「MySQL Query Browser」。MySQL Administrator 是用來管理 MySQL Server 用的,您可以查看目前系統狀態、新增使用者等。而 MySQL Query Browser 可以用來查看數據庫內容。
我們可以在一台 Windows 的機器上使用圖形化的管理工具,或者是在本機的 XWindow 中執行也可以。如果要從另一台計算機聯機到 MySQL,則在使用這些工具連到 MySQL 之前,您必須先新增具有權限從遠方聯機到 MySQL 的使用者。假設我們要新增一個使用者 root,它可以從 192.168.0.2 這台機器聯機到 MySQL,而密碼為 mypasswd,則可以使用下列指令:
mysql> GRANT ALL on *.* to [email protected] IDENTIFIED BY 'mypasswd'; Query OK, 1 rows affected (0.01 sec)mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.01 sec)
19.5.1 MySQL Administrator
請先到 MySQL 網站下載 MySQL Administrator,並執行安裝,安裝後請執行 MySQL Administrator。執行後,您會看到下列畫面:
圖 19-1
請在 Server Host 字段中輸入 MySQL Server 的 IP,並輸入使用者名稱及密碼。登入後的第一頁,您可以看到目前 MySQL 的狀態。如果您的 Server 和 MySQL Administrator 是在同一台機器上,則可以對 MySQL 進行更多的控制,例如停用 MySQL 等。
MySQL Administrator 的管理界面使用上很容易,您可以自已點點看有什麼功能,這裡我們只介紹如何使用它來新增使用者。首先,請在右邊選單中選取「User Administration」,接著在下圖標示 2 的地方按鼠標右鍵,然後選擇「Add new User」。
圖 19-2
然後您就可以在 MySQL User 字段中輸入使用者名稱,並輸入密碼。輸入完後請按「Apply changes」以套用設定。
接下來我們可以再進一步設定使用者 john 設定權限。假設我們希望設使用者 john 只可以對數據庫 www 進行 SELECT、INSERT、UPDATE、及 DELETE 的指令,則可以點選「Schema Privileges」標簽,並選取好權限後,按下圖 3 的按鈕以新增權限。最後請點選「Apply changes」以套用設定。
圖 19-3
最後,我們要設定使用者可以從什麼地方聯機到 MySQL Server,請對著該使用者按右鍵,並選擇「Add Host From Which The User Can Connect」,接著輸入 IP 即可。
圖 19-4
如果您要刪除使用者,只要對著使用者按右鍵,並選取「Delete User」即可。
19.5.2 MySQL Query Browser
MySQL Query Browser 一樣可以從 MySQL 官方網站下載。下載並安裝後,就可以執行 MySQL Query Browser 了。執行 Query Browser 後,會出現一個要求登入的窗口,同樣的,您必須輸入賬號、密碼及所要聯機的主機。
如果您已經安裝了 MySQL Administrator,您可以直接從 MySQL Administrator 中執行 Query Browser,而且不必再輸入賬號密碼:
圖 19-5
在 MySQL Query Browser 中,我們可以建立刪除數據庫、數據表、查詢數據庫中的數據。如果您要建立一個新的數據庫,請對著下圖中 1 的位置按鼠標右鍵,再點選「Create New Schema」,最後輸入數據庫名稱即可。
圖 19-6
建立了數據庫後,我們可以再建資料表。請對著我們剛建立的數據庫按鼠標右鍵,再點選「Create New Table」即出現下列窗口:
圖 19-7
請在「Table Name」中輸入表格名稱,並在上圖 2 的部份輸入每一個字段的類別,最後按「Apply Changes」即可。建立數據庫後,您就可以在 Query Browser 中輸入、檢視數據庫中的數據。只要對著剛才建立的表格點二下,並點選「Execute」即可查看數據庫中的數據。如果您要新增一筆數據,請點選下圖中 3 的位置,並選擇「Edit」即可進行編輯。
圖 19-8
MySQL 圖形化接口的使用相當直覺,您只要多試幾次就可以明白各種使用方法了。
小提示
如果您想要使用網頁接口的 MySQL 管理工具,您可以到http://www.phpmyadmin.net/ 下載 phpMyAdmin。phpMyAdmin 的設定十分簡單,您可以在網絡上搜尋到很多相關文件。
19.6 PostgreSQL 安裝設定
另一個好用的數據庫為 PostgreSQL,這是筆者偏好的數據庫,比起 MySQL,它的設定更簡單、功能更強大。
我們同樣使用 port 來安裝 PosgreSQL:
# cd /usr/ports/databases/postgresql80-server # make install clean
執行了 make install 之後,會出現一個進階設定的窗口,我們使用預設的設定即可。接著,您將看到一個提示訊息,要求你先行備份原本的數據庫。如果您是第一次安裝 PostgreSQL,可以直接略過。
安裝完成後,我們就可以開始做數據庫的初始化了。我們使用下列指令來初始化數據庫:
# su -l pgsql -c initdb
這個指令的意思是以使用者 pgsql 的身份執行 initdb。PostgreSQL 安裝時會自動建立一個使用者及群組 pgsql,這是 PostgreSQL 預設最高使用者的賬號,您可以使用 vipw 來修改該使用者的數據。由於 pgsql 預設使用的 shell 是 sh,筆者習慣使用 tcsh,所以我將該使用者的數據修改如下:
pgsql:*:70:70::0:0:PostgreSQL Daemon:/usr/local/pgsql:/bin/tcsh
初始化數據庫後還有一些後續的設定。一開始 PostgreSQL 只允許讓 pgsql 這個使用者經由本機聯機存取數據庫,如果您希望其它使用者可以經由其它機器聯機,您必須先修改 ~pgsql/data/postgresql.conf 這個檔案。找出 listen_addresses 的部份,並修改如下:
listen_addresses = '*'
listen_addresses 是表示您所要允許聯機的 IP 地址,我們填入 * 表示允許任何聯機。如果您安裝的 PostgreSQL 是 7.x 的版本,您要修改的是這下列一行:
tcpip_socket = true
postgresql.conf 這個檔案記錄著 PostgreSQL 的其本設定,其中使用 "#" 為首的是批注。其內容包括可以設定所要使用的連接埠、最大聯機數量等,不過我們通常沒有必要修改它。
接著我們要設定從別的機器聯機所使用的認證方式,請編輯 ~pgsql/data/pg_hba.conf,在文件最下方加入下列設定:
# "local" is for Unix domain socket connections only local all all trust host all all 127.0.0.1/32 trust host all all ::1/128 trust host all all 192.168.0.1 255.255.255.0 md5
這裡的設定除了第一行是批注外,第二、三、四行表示信任來自本機的聯機,只要使用者存在於數據庫中就不需要密碼,這三行預設就存在於 pg_hba.conf 中。最後一行表示網域 192.168.0.1~192.168.0.255 的聯機都要使用 md5 驗證密碼。
如果您希望在開機時就啟動 PostgreSQL,請修改 /etc/rc.conf 並加入下列這一行:
postgresql_enable="YES"
在我們新增其它使用者之前,必須先啟動 PostgreSQL ,以下為啟動數據庫服務的指令:
# /usr/local/etc/rc.d/010.pgsql.sh start
如果您沒有在 rc.conf 中加入啟動 PostgreSQL 的設定,則上述指令並不會啟動 PostgreSQL。
因為 010.pgsql.sh 這支 script 放在 /usr/local/etc/rc.d ,所以在一開機時,系統就會自動執行它來啟動 PostgreSQL,如果您要停止 PostgreSQL,只要執行下列指令:
# /usr/local/etc/rc.d/010.pgsql.sh stop
接著我們就可以增加一個可以使用遠程聯機的使用者:
# su -l pgsql % createuser -P Enter name of user to add: alex Enter password for user "alex": Enter it again: Shall the new user be allowed to create databases? (y/n) y Shall the new user be allowed to create more new users? (y/n) y CREATE USER
如此一來我們就可以使用 alex 這個使用者從遠程登入了。
19.7 PostgreSQL 管理指令
PostgreSQL 和 MySQL 在指令的應用上有所不同,它將許多管理數據庫的指令獨立成一個個的執行文件,其中有些指令是使用 psql 為基礎所寫成的 scripts。例如新增、刪除數據庫或使用者等指令,都可以直接在命令列執行。以下為常用的指令列表:
指令 用途 createdb 建立一個新的數據庫。 dropdb 刪除數據庫。 createuser 建立數據庫使用者。 dropuser 刪除數據庫使用者。 pg_dump 備份一個數據庫。 pg_dumpall 備份所有數據庫。 psql 交互式的 SQL 指令工具。