mysql圖形化管理工具介紹
MySQL 有許多圖形化的管理工具,我們?cè)诖私榻B二個(gè)官方的工具「MySQL Administrator」及「MySQL Query Browser」。MySQL Administrator 是用來管理 MySQL Server 用的,您可以查看目前系統(tǒng)狀態(tài)、新增使用者等。而 MySQL Query Browser 可以用來查看數(shù)據(jù)庫內(nèi)容。
我們可以在一臺(tái) Windows 的機(jī)器上使用圖形化的管理工具,或者是在本機(jī)的 XWindow 中執(zhí)行也可以。如果要從另一臺(tái)計(jì)算機(jī)聯(lián)機(jī)到 MySQL,則在使用這些工具連到 MySQL 之前,您必須先新增具有權(quán)限從遠(yuǎn)方聯(lián)機(jī)到 MySQL 的使用者。假設(shè)我們要新增一個(gè)使用者 root,它可以從 192.168.0.2 這臺(tái)機(jī)器聯(lián)機(jī)到 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
請(qǐng)先到 MySQL 網(wǎng)站下載 MySQL Administrator,并執(zhí)行安裝,安裝后請(qǐng)執(zhí)行 MySQL Administrator。執(zhí)行后,您會(huì)看到下列畫面:
圖 19-1
請(qǐng)?jiān)?Server Host 字段中輸入 MySQL Server 的 IP,并輸入使用者名稱及密碼。登入后的第一頁,您可以看到目前 MySQL 的狀態(tài)。如果您的 Server 和 MySQL Administrator 是在同一臺(tái)機(jī)器上,則可以對(duì) MySQL 進(jìn)行更多的控制,例如停用 MySQL 等。
MySQL Administrator 的管理界面使用上很容易,您可以自已點(diǎn)點(diǎn)看有什么功能,這里我們只介紹如何使用它來新增使用者。首先,請(qǐng)?jiān)谟疫呥x單中選取「User Administration」,接著在下圖標(biāo)示 2 的地方按鼠標(biāo)右鍵,然后選擇「Add new User」。
圖 19-2
然后您就可以在 MySQL User 字段中輸入使用者名稱,并輸入密碼。輸入完后請(qǐng)按「Apply changes」以套用設(shè)定。
接下來我們可以再進(jìn)一步設(shè)定使用者 john 設(shè)定權(quán)限。假設(shè)我們希望設(shè)使用者 john 只可以對(duì)數(shù)據(jù)庫 www 進(jìn)行 SELECT、INSERT、UPDATE、及 DELETE 的指令,則可以點(diǎn)選「Schema Privileges」標(biāo)簽,并選取好權(quán)限后,按下圖 3 的按鈕以新增權(quán)限。最后請(qǐng)點(diǎn)選「Apply changes」以套用設(shè)定。
圖 19-3
最后,我們要設(shè)定使用者可以從什么地方聯(lián)機(jī)到 MySQL Server,請(qǐng)對(duì)著該使用者按右鍵,并選擇「Add Host From Which The User Can Connect」,接著輸入 IP 即可。
圖 19-4
如果您要?jiǎng)h除使用者,只要對(duì)著使用者按右鍵,并選取「Delete User」即可。
19.5.2 MySQL Query Browser
MySQL Query Browser 一樣可以從 MySQL 官方網(wǎng)站下載。下載并安裝后,就可以執(zhí)行 MySQL Query Browser 了。執(zhí)行 Query Browser 后,會(huì)出現(xiàn)一個(gè)要求登入的窗口,同樣的,您必須輸入賬號(hào)、密碼及所要聯(lián)機(jī)的主機(jī)。
如果您已經(jīng)安裝了 MySQL Administrator,您可以直接從 MySQL Administrator 中執(zhí)行 Query Browser,而且不必再輸入賬號(hào)密碼:
圖 19-5
在 MySQL Query Browser 中,我們可以建立刪除數(shù)據(jù)庫、數(shù)據(jù)表、查詢數(shù)據(jù)庫中的數(shù)據(jù)。如果您要建立一個(gè)新的數(shù)據(jù)庫,請(qǐng)對(duì)著下圖中 1 的位置按鼠標(biāo)右鍵,再點(diǎn)選「Create New Schema」,最后輸入數(shù)據(jù)庫名稱即可。
圖 19-6
建立了數(shù)據(jù)庫后,我們可以再建資料表。請(qǐng)對(duì)著我們剛建立的數(shù)據(jù)庫按鼠標(biāo)右鍵,再點(diǎn)選「Create New Table」即出現(xiàn)下列窗口:
圖 19-7
請(qǐng)?jiān)凇窽able Name」中輸入表格名稱,并在上圖 2 的部份輸入每一個(gè)字段的類別,最后按「Apply Changes」即可。建立數(shù)據(jù)庫后,您就可以在 Query Browser 中輸入、檢視數(shù)據(jù)庫中的數(shù)據(jù)。只要對(duì)著剛才建立的表格點(diǎn)二下,并點(diǎn)選「Execute」即可查看數(shù)據(jù)庫中的數(shù)據(jù)。如果您要新增一筆數(shù)據(jù),請(qǐng)點(diǎn)選下圖中 3 的位置,并選擇「Edit」即可進(jìn)行編輯。
圖 19-8
MySQL 圖形化接口的使用相當(dāng)直覺,您只要多試幾次就可以明白各種使用方法了。
小提示
如果您想要使用網(wǎng)頁接口的 MySQL 管理工具,您可以到http://www.phpmyadmin.net/ 下載 phpMyAdmin。phpMyAdmin 的設(shè)定十分簡(jiǎn)單,您可以在網(wǎng)絡(luò)上搜尋到很多相關(guān)文件。
19.6 PostgreSQL 安裝設(shè)定
另一個(gè)好用的數(shù)據(jù)庫為 PostgreSQL,這是筆者偏好的數(shù)據(jù)庫,比起 MySQL,它的設(shè)定更簡(jiǎn)單、功能更強(qiáng)大。
我們同樣使用 port 來安裝 PosgreSQL:
# cd /usr/ports/databases/postgresql80-server # make install clean執(zhí)行了 make install 之后,會(huì)出現(xiàn)一個(gè)進(jìn)階設(shè)定的窗口,我們使用預(yù)設(shè)的設(shè)定即可。接著,您將看到一個(gè)提示訊息,要求你先行備份原本的數(shù)據(jù)庫。如果您是第一次安裝 PostgreSQL,可以直接略過。
安裝完成后,我們就可以開始做數(shù)據(jù)庫的初始化了。我們使用下列指令來初始化數(shù)據(jù)庫:
# su -l pgsql -c initdb這個(gè)指令的意思是以使用者 pgsql 的身份執(zhí)行 initdb。PostgreSQL 安裝時(shí)會(huì)自動(dòng)建立一個(gè)使用者及群組 pgsql,這是 PostgreSQL 預(yù)設(shè)高到使用者的賬號(hào),您可以使用 vipw 來修改該使用者的數(shù)據(jù)。由于 pgsql 預(yù)設(shè)使用的 shell 是 sh,筆者習(xí)慣使用 tcsh,所以我將該使用者的數(shù)據(jù)修改如下:
pgsql:*:70:70::0:0:PostgreSQL Daemon:/usr/local/pgsql:/bin/tcsh
初始化數(shù)據(jù)庫后還有一些后續(xù)的設(shè)定。一開始 PostgreSQL 只允許讓 pgsql 這個(gè)使用者經(jīng)由本機(jī)聯(lián)機(jī)存取數(shù)據(jù)庫,如果您希望其它使用者可以經(jīng)由其它機(jī)器聯(lián)機(jī),您必須先修改 ~pgsql/data/postgresql.conf 這個(gè)檔案。找出 listen_addresses 的部份,并修改如下:
listen_addresses = '*'
listen_addresses 是表示您所要允許聯(lián)機(jī)的 IP 地址,我們填入 * 表示允許任何聯(lián)機(jī)。如果您安裝的 PostgreSQL 是 7.x 的版本,您要修改的是這下列一行:
tcpip_socket = true
postgresql.conf 這個(gè)檔案記錄著 PostgreSQL 的其本設(shè)定,其中使用 '#' 為首的是批注。其內(nèi)容包括可以設(shè)定所要使用的連接埠、比較大聯(lián)機(jī)數(shù)量等,不過我們通常沒有必要修改它。
接著我們要設(shè)定從別的機(jī)器聯(lián)機(jī)所使用的認(rèn)證方式,請(qǐng)編輯 ~pgsql/data/pg_hba.conf,在文件最下方加入下列設(shè)定:
# '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
這里的設(shè)定除了第一行是批注外,第二、三、四行表示信任來自本機(jī)的聯(lián)機(jī),只要使用者存在于數(shù)據(jù)庫中就不需要密碼,這三行預(yù)設(shè)就存在于 pg_hba.conf 中。最后一行表示網(wǎng)域 192.168.0.1~192.168.0.255 的聯(lián)機(jī)都要使用 md5 驗(yàn)證密碼。
如果您希望在開機(jī)時(shí)就啟動(dòng) PostgreSQL,請(qǐng)修改 /etc/rc.conf 并加入下列這一行:
postgresql_enable='YES'
在我們新增其它使用者之前,必須先啟動(dòng) PostgreSQL ,以下為啟動(dòng)數(shù)據(jù)庫服務(wù)的指令:
# /usr/local/etc/rc.d/010.pgsql.sh start如果您沒有在 rc.conf 中加入啟動(dòng) PostgreSQL 的設(shè)定,則上述指令并不會(huì)啟動(dòng) PostgreSQL。
因?yàn)?010.pgsql.sh 這支 script 放在 /usr/local/etc/rc.d ,所以在一開機(jī)時(shí),系統(tǒng)就會(huì)自動(dòng)執(zhí)行它來啟動(dòng) PostgreSQL,如果您要停止 PostgreSQL,只要執(zhí)行下列指令:
# /usr/local/etc/rc.d/010.pgsql.sh stop接著我們就可以增加一個(gè)可以使用遠(yuǎn)程聯(lián)機(jī)的使用者:
# 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 這個(gè)使用者從遠(yuǎn)程登入了。
19.7 PostgreSQL 管理指令
PostgreSQL 和 MySQL 在指令的應(yīng)用上有所不同,它將許多管理數(shù)據(jù)庫的指令獨(dú)立成一個(gè)個(gè)的執(zhí)行文件,其中有些指令是使用 psql 為基礎(chǔ)所寫成的 scripts。例如新增、刪除數(shù)據(jù)庫或使用者等指令,都可以直接在命令列執(zhí)行。以下為常用的指令列表:
指令 用途 createdb 建立一個(gè)新的數(shù)據(jù)庫。 dropdb 刪除數(shù)據(jù)庫。 createuser 建立數(shù)據(jù)庫使用者。 dropuser 刪除數(shù)據(jù)庫使用者。 pg_dump 備份一個(gè)數(shù)據(jù)庫。 pg_dumpall 備份所有數(shù)據(jù)庫。 psql 交互式的 SQL 指令工具。
19.7.1 建立及刪除使用者
因?yàn)?PostgreSQL 安裝完畢時(shí)只有一個(gè)使用者 pgsql,如果您要使用其它使用者登入,您必須先以 pgsql 這個(gè)使用者來新增其它使用者賬號(hào)。首先,我們先將身份切換成 pgsql:
# su -l pgsql我們使用 su 加上參數(shù) -l 表示模擬使用者真正 login 的情形,也就是會(huì)將工作目錄切換到 /usr/local/pgsql,并加載該目錄中的 .cshrc 等檔案。接著我們就可以使用下列指令來建立一個(gè)新的使用者了,假設(shè)我們要為 root 建立一個(gè)賬號(hào):
% 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 也具有存取數(shù)據(jù)庫的權(quán)限了。但因?yàn)?PostgreSQL 內(nèi)定沒有密碼的使用者不可以使用遠(yuǎn)程登入,如果您希望所新增的使用者可以使用遠(yuǎn)程登入,您必須在 createuser 指令加上參數(shù) -P 以輸入密碼,請(qǐng)注意 P 是大寫喔。如果你要從數(shù)據(jù)庫中刪除一個(gè)使用者賬號(hào),只要使用 dropuser 這個(gè)指令即可:
% dropuser root值得注意的是,您無法使用刪除你正在使用中的賬號(hào),例如以 root 身份來刪除 root 是不被允許的。
如果您要修改某個(gè)使用者的密碼,可以使用下列指令:
# 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 以確保具有權(quán)限修改使用者密碼,接著我們使用 psql 進(jìn)入預(yù)設(shè)的數(shù)據(jù)庫,并使用 ALTER USER 來修改使用者 pgsql 的密碼,將密碼設(shè)為 mypass。最后使用 quit 離開數(shù)據(jù)庫。
19.7.2 建立及刪除數(shù)據(jù)庫
在使用數(shù)據(jù)庫之前,我們必須先建立一個(gè)數(shù)據(jù)庫。假設(shè)我們要建立的數(shù)據(jù)庫名稱為 MYDB,您可以使用下列指令加以建立:
% createdb MYDB在 UNIX 的世界中,大小寫是有分別的,在 PostgreSQL 中也是一樣。因此,不論是在建立數(shù)據(jù)庫,數(shù)據(jù)表或其字段時(shí),都要注意大小寫。建議您除了數(shù)據(jù)庫名稱外,較好全部使用小寫。
同樣的,如果你要?jiǎng)h除一個(gè)數(shù)據(jù)庫,只要使用 dropdb 這個(gè)指令:
% dropdb MYDB19.7.3 交互式 SQL 指令
PostgreSQL 的 client 端指令中,功能最強(qiáng)大的莫過于 psql 這個(gè)指令了。psql 可以除了讓我們進(jìn)入交互式的 SQL statement 環(huán)境外,也可以加上一些參數(shù)變成一個(gè)直接響應(yīng)的指令。例如,我們想要查看目前有哪些數(shù)據(jù)庫:
% psql -l List of databases Name | Owner | Encoding -----------+-------+----------- MYDB | root | SQL_ASCII template0 | pgsql | SQL_ASCII template1 | pgsql | SQL_ASCII (3 rows)加上 -l 這個(gè)參數(shù)后,就可以列出所有數(shù)據(jù)庫名稱了。除了您所建立的數(shù)據(jù)庫外,還有二個(gè) templateX 的數(shù)據(jù)庫,該數(shù)據(jù)庫存放著 PostgreSQL 的設(shè)定,不可以刪除。接下來讓我們選定一個(gè)數(shù)據(jù)庫以進(jìn)入交互式的窗口:
% 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 所列出的一些標(biāo)準(zhǔn)的 SQL statement 來存取數(shù)據(jù)庫,例如 create、drop、delete、update、insert、alter 等。建議您進(jìn)一步至 PostgreSQL 網(wǎng)站參考其使用手冊(cè),PostgreSQL 官方網(wǎng)站是http://www.postgresql.org 。您也可以在下列網(wǎng)址中找到中文的使用手冊(cè):http://www.freebsd.org.hk/html/pgsqldoc-7.0c/postgres.htm。
在交互式的接口中,您可以使用 h 及 ? 來查詢可以使用的指令。其中 h 為查詢 SQL statement ,而 ? 則是常詢 PostgreSQL 特有的反斜線指令,我們最常用的反斜線指令有 q 離開交互式接口,及 d 列出該數(shù)據(jù)庫的所有數(shù)據(jù)表。
如果您覺得這種命令列的接口不好使用,我們?cè)谙乱还?jié)將會(huì)介紹如何在 MS Windows 使用圖形化接口的管理工具。
19.7.4 數(shù)據(jù)庫備份及回復(fù)
定期備份數(shù)據(jù)庫是十分重要的一件事,我們一定要養(yǎng)成備份的習(xí)慣。在 PostgreSQL 中,備份十分容易,假設(shè)我們要備份的數(shù)據(jù)庫是 MYDB,您可以使用下列指令:
% pg_dump MYDB> MYDB.sql如此一來,你就可以把 MYDB 這個(gè)數(shù)據(jù)庫 dump 出來了。然而,數(shù)據(jù)庫的數(shù)據(jù)往往十分龐大,動(dòng)輒數(shù)十 MB 至數(shù)百 MB,為了節(jié)省空間,您可以在備份時(shí)順便壓縮數(shù)據(jù)庫。以上述指令而言,我們只要將輸出導(dǎo)向到 gzip 即可進(jìn)行同步壓縮:
% pg_dump MYDB | gzip> MYDB.sql.gz我們一般從數(shù)據(jù)庫 dump 出來的數(shù)據(jù)都是文字文件,所以使用 gzip壓縮可以得到很高的壓縮比。假設(shè)不壓縮所備份出來的檔案有五十 MB,使用 gzip壓縮后大約只剩六百多 KB。因此,我習(xí)慣都會(huì)加上 gzip壓縮。
pg_dump 這個(gè)指令只能用來備份單一的數(shù)據(jù)庫,如果您要將所有的數(shù)據(jù)庫中都備份起來,您可以使用 pg_dumpall 來備份:
% pg_dumpall |gzip> ALLDB.sql.gz有了備份,自然也要回存。由于我們使用 pg_dump 所備份出來的數(shù)據(jù)庫實(shí)際上是將一堆數(shù)據(jù)以 SQL statement 的方式存起來,如果您將該備份的檔案以文書編輯器打開,您可以看到它其實(shí)是先存放數(shù)據(jù)庫中所有數(shù)據(jù)表的信息,再將存放數(shù)據(jù)。所以我們只要將這些指令導(dǎo)向到 psql 來執(zhí)行即可。首先,請(qǐng)先建立要回存的數(shù)據(jù)庫名稱,假設(shè)我們要將 MYDB 所備份出來的數(shù)據(jù)存放在 NEWDB 這個(gè)數(shù)據(jù)庫中,我們要先建立一個(gè)名為 NEWDB 的數(shù)據(jù)庫:
% createdb NEWDB接著再使用下列指令來將數(shù)據(jù)回存:
% cat MYDB.sql | psql NEWDB如果您備份出來的數(shù)據(jù)有經(jīng)過壓縮,則需改以下列指令回存:
% gunzip -c MYDB.sql.gz | psql NEWDB或是
% cat MYDB.sql.gz | gunzip | psql NEWDB如果您要回存的檔案是經(jīng)由 pg_dumpall 所備份出來的數(shù)據(jù),則必須使用 pgsql 這個(gè)使用者來執(zhí)行下列指令:
% gunzip -c ALLDB.sql.gz | psql -e template119.8 PostgreSQL 圖形化管理工具介紹
許多人可能不太習(xí)慣使用命令列來管理數(shù)據(jù)庫,還好 PostgreSQL 提供了許多圖形接口的管理工具。您可以在 MS Windows 執(zhí)行的 pgAdmin。由于這些圖形接口操作上比較容易,只要您多試幾次,就可以熟悉它們的使用,因此,我們不會(huì)深入介紹每個(gè)功能的用法。
對(duì)于初學(xué)者而言,使用 pgAdmin 會(huì)比在命令列中輸入來得容易。您可以自 http://www.pgadmin.org/ 下載新版本的 pgAdmin。
安裝完成后,我們打開 pgAdmin,按了左上角的圖示后即出現(xiàn)聯(lián)機(jī)設(shè)定的窗體。請(qǐng)輸入您數(shù)據(jù)庫服務(wù)器的位置及賬號(hào)密碼,如圖 19-9 所示:
圖 19-9
請(qǐng)注意,您必須先將 PostgreSQL 的 TCP/IP 聯(lián)機(jī)打開,而且在 pg_hba.conf 中必須允許使用 pgAdmin 的這臺(tái)主機(jī)登入。您可以參考 19.6 中的說明來設(shè)定 pg_hba.conf。輸入聯(lián)機(jī)數(shù)據(jù)后,即可開始使用。以建立一個(gè)新的數(shù)據(jù)庫為例,我們先在左邊的窗口中,對(duì)著數(shù)據(jù)庫按右鍵,再選取 [新物件]->[新建數(shù)據(jù)庫] 如圖 19-10 所示:
圖 19-10
接著我們可以輸入數(shù)據(jù)庫名稱、編碼方式等,如圖 19-11:
圖 19-11
我們輸入了數(shù)據(jù)庫名稱為 test,并指定使用 UNICODE 的編碼方式。接下來您可以看到在管理窗口中多了一個(gè)數(shù)據(jù)庫「test」,我們可以在此數(shù)據(jù)庫中再建立數(shù)據(jù)表。請(qǐng)先點(diǎn)選數(shù)據(jù)庫「test」,再選擇「模式」->「public」->「數(shù)據(jù)表」,并對(duì)著數(shù)據(jù)表按右鍵選擇「新建數(shù)據(jù)表」。
圖 19-12
接下來,您就可以輸入資料表名稱,再選取「資料行」以設(shè)定本數(shù)據(jù)表的字段數(shù)據(jù)。
圖 19-13
在 pgAdmin 的主畫面中,最上方有幾個(gè)功能鍵,可以讓我們手動(dòng)輸入 SQL 指令或是查看數(shù)據(jù)表內(nèi)容,建議您可以每一個(gè)功能都試試看,以熟悉 pgAdmin 的使用接口。基本上 pgAdmin 十分容易上手,而且也功能十分齊全。
相關(guān)文章:
