mysql圖形化管理工具介紹
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 指令工具。
19.7.1 建立及刪除使用者
因為 PostgreSQL 安裝完畢時只有一個使用者 pgsql,如果您要使用其它使用者登入,您必須先以 pgsql 這個使用者來新增其它使用者賬號。首先,我們先將身份切換成 pgsql:
# su -l pgsql我們使用 su 加上參數 -l 表示模擬使用者真正 login 的情形,也就是會將工作目錄切換到 /usr/local/pgsql,并加載該目錄中的 .cshrc 等檔案。接著我們就可以使用下列指令來建立一個新的使用者了,假設我們要為 root 建立一個賬號:
% createuser root 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如此一來,root 也具有存取數據庫的權限了。但因為 PostgreSQL 內定沒有密碼的使用者不可以使用遠程登入,如果您希望所新增的使用者可以使用遠程登入,您必須在 createuser 指令加上參數 -P 以輸入密碼,請注意 P 是大寫喔。如果你要從數據庫中刪除一個使用者賬號,只要使用 dropuser 這個指令即可:
% dropuser root值得注意的是,您無法使用刪除你正在使用中的賬號,例如以 root 身份來刪除 root 是不被允許的。
如果您要修改某個使用者的密碼,可以使用下列指令:
# su -l pgsql % psql template1 Welcome to psql 8.0.3, the PostgreSQL interactive terminal. Type: copyright for distribution terms h for help with SQL commands ? for help on internal slash commands g or terminate with semicolon to execute query q to quittemplate1=# ALTER USER pgsql WITH PASSWORD 'mypass'; ALTER USERtemplate1=# quit我們先切換身份為 psql 以確保具有權限修改使用者密碼,接著我們使用 psql 進入預設的數據庫,并使用 ALTER USER 來修改使用者 pgsql 的密碼,將密碼設為 mypass。最后使用 quit 離開數據庫。
19.7.2 建立及刪除數據庫
在使用數據庫之前,我們必須先建立一個數據庫。假設我們要建立的數據庫名稱為 MYDB,您可以使用下列指令加以建立:
% createdb MYDB在 UNIX 的世界中,大小寫是有分別的,在 PostgreSQL 中也是一樣。因此,不論是在建立數據庫,數據表或其字段時,都要注意大小寫。建議您除了數據庫名稱外,較好全部使用小寫。
同樣的,如果你要刪除一個數據庫,只要使用 dropdb 這個指令:
% dropdb MYDB19.7.3 交互式 SQL 指令
PostgreSQL 的 client 端指令中,功能最強大的莫過于 psql 這個指令了。psql 可以除了讓我們進入交互式的 SQL statement 環境外,也可以加上一些參數變成一個直接響應的指令。例如,我們想要查看目前有哪些數據庫:
% psql -l List of databases Name | Owner | Encoding -----------+-------+----------- MYDB | root | SQL_ASCII template0 | pgsql | SQL_ASCII template1 | pgsql | SQL_ASCII (3 rows)加上 -l 這個參數后,就可以列出所有數據庫名稱了。除了您所建立的數據庫外,還有二個 templateX 的數據庫,該數據庫存放著 PostgreSQL 的設定,不可以刪除。接下來讓我們選定一個數據庫以進入交互式的窗口:
% psql MYDB Welcome to psql, the PostgreSQL interactive terminal. Type: copyright for distribution terms h for help with SQL commands ? for help on internal slash commands g or terminate with semicolon to execute query q to quitMYDB=#在這里,我們可以使用 19.3 所列出的一些標準的 SQL statement 來存取數據庫,例如 create、drop、delete、update、insert、alter 等。建議您進一步至 PostgreSQL 網站參考其使用手冊,PostgreSQL 官方網站是http://www.postgresql.org 。您也可以在下列網址中找到中文的使用手冊:http://www.freebsd.org.hk/html/pgsqldoc-7.0c/postgres.htm。
在交互式的接口中,您可以使用 h 及 ? 來查詢可以使用的指令。其中 h 為查詢 SQL statement ,而 ? 則是常詢 PostgreSQL 特有的反斜線指令,我們最常用的反斜線指令有 q 離開交互式接口,及 d 列出該數據庫的所有數據表。
如果您覺得這種命令列的接口不好使用,我們在下一節將會介紹如何在 MS Windows 使用圖形化接口的管理工具。
19.7.4 數據庫備份及回復
定期備份數據庫是十分重要的一件事,我們一定要養成備份的習慣。在 PostgreSQL 中,備份十分容易,假設我們要備份的數據庫是 MYDB,您可以使用下列指令:
% pg_dump MYDB> MYDB.sql如此一來,你就可以把 MYDB 這個數據庫 dump 出來了。然而,數據庫的數據往往十分龐大,動輒數十 MB 至數百 MB,為了節省空間,您可以在備份時順便壓縮數據庫。以上述指令而言,我們只要將輸出導向到 gzip 即可進行同步壓縮:
% pg_dump MYDB | gzip> MYDB.sql.gz我們一般從數據庫 dump 出來的數據都是文字文件,所以使用 gzip壓縮可以得到很高的壓縮比。假設不壓縮所備份出來的檔案有五十 MB,使用 gzip壓縮后大約只剩六百多 KB。因此,我習慣都會加上 gzip壓縮。
pg_dump 這個指令只能用來備份單一的數據庫,如果您要將所有的數據庫中都備份起來,您可以使用 pg_dumpall 來備份:
% pg_dumpall |gzip> ALLDB.sql.gz有了備份,自然也要回存。由于我們使用 pg_dump 所備份出來的數據庫實際上是將一堆數據以 SQL statement 的方式存起來,如果您將該備份的檔案以文書編輯器打開,您可以看到它其實是先存放數據庫中所有數據表的信息,再將存放數據。所以我們只要將這些指令導向到 psql 來執行即可。首先,請先建立要回存的數據庫名稱,假設我們要將 MYDB 所備份出來的數據存放在 NEWDB 這個數據庫中,我們要先建立一個名為 NEWDB 的數據庫:
% createdb NEWDB接著再使用下列指令來將數據回存:
% cat MYDB.sql | psql NEWDB如果您備份出來的數據有經過壓縮,則需改以下列指令回存:
% gunzip -c MYDB.sql.gz | psql NEWDB或是
% cat MYDB.sql.gz | gunzip | psql NEWDB如果您要回存的檔案是經由 pg_dumpall 所備份出來的數據,則必須使用 pgsql 這個使用者來執行下列指令:
% gunzip -c ALLDB.sql.gz | psql -e template119.8 PostgreSQL 圖形化管理工具介紹
許多人可能不太習慣使用命令列來管理數據庫,還好 PostgreSQL 提供了許多圖形接口的管理工具。您可以在 MS Windows 執行的 pgAdmin。由于這些圖形接口操作上比較容易,只要您多試幾次,就可以熟悉它們的使用,因此,我們不會深入介紹每個功能的用法。
對于初學者而言,使用 pgAdmin 會比在命令列中輸入來得容易。您可以自 http://www.pgadmin.org/ 下載新版本的 pgAdmin。
安裝完成后,我們打開 pgAdmin,按了左上角的圖示后即出現聯機設定的窗體。請輸入您數據庫服務器的位置及賬號密碼,如圖 19-9 所示:
圖 19-9
請注意,您必須先將 PostgreSQL 的 TCP/IP 聯機打開,而且在 pg_hba.conf 中必須允許使用 pgAdmin 的這臺主機登入。您可以參考 19.6 中的說明來設定 pg_hba.conf。輸入聯機數據后,即可開始使用。以建立一個新的數據庫為例,我們先在左邊的窗口中,對著數據庫按右鍵,再選取 [新物件]->[新建數據庫] 如圖 19-10 所示:
圖 19-10
接著我們可以輸入數據庫名稱、編碼方式等,如圖 19-11:
圖 19-11
我們輸入了數據庫名稱為 test,并指定使用 UNICODE 的編碼方式。接下來您可以看到在管理窗口中多了一個數據庫「test」,我們可以在此數據庫中再建立數據表。請先點選數據庫「test」,再選擇「模式」->「public」->「數據表」,并對著數據表按右鍵選擇「新建數據表」。
圖 19-12
接下來,您就可以輸入資料表名稱,再選取「資料行」以設定本數據表的字段數據。
圖 19-13
在 pgAdmin 的主畫面中,最上方有幾個功能鍵,可以讓我們手動輸入 SQL 指令或是查看數據表內容,建議您可以每一個功能都試試看,以熟悉 pgAdmin 的使用接口。基本上 pgAdmin 十分容易上手,而且也功能十分齊全。
相關文章:
