下载吧编程开发

分类分类

mysql图形化管理工具介绍

2014-06-23 15:56作者:下载吧

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 root@192.168.0.2 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

mysql图形化管理工具介绍

请在 Server Host 字段中输入 MySQL Server 的 IP,并输入使用者名称及密码。登入后的第一页,您可以看到目前 MySQL 的状态。如果您的 Server 和 MySQL Administrator 是在同一台机器上,则可以对 MySQL 进行更多的控制,例如停用 MySQL 等。

MySQL Administrator 的管理界面使用上很容易,您可以自已点点看有什么功能,这里我们只介绍如何使用它来新增使用者。首先,请在右边选单中选取「User Administration」,接着在下图标示 2 的地方按鼠标右键,然后选择「Add new User」。

图 19-2

mysql图形化管理工具介绍

然后您就可以在 MySQL User 字段中输入使用者名称,并输入密码。输入完后请按「Apply changes」以套用设定。

接下来我们可以再进一步设定使用者 john 设定权限。假设我们希望设使用者 john 只可以对数据库 www 进行 SELECT、INSERT、UPDATE、及 DELETE 的指令,则可以点选「Schema Privileges」标签,并选取好权限后,按下图 3 的按钮以新增权限。最后请点选「Apply changes」以套用设定。

图 19-3

mysql图形化管理工具介绍

最后,我们要设定使用者可以从什么地方联机到 MySQL Server,请对着该使用者按右键,并选择「Add Host From Which The User Can Connect」,接着输入 IP 即可。

图 19-4

mysql图形化管理工具介绍

如果您要删除使用者,只要对着使用者按右键,并选取「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图形化管理工具介绍

在 MySQL Query Browser 中,我们可以建立删除数据库、数据表、查询数据库中的数据。如果您要建立一个新的数据库,请对着下图中 1 的位置按鼠标右键,再点选「Create New Schema」,最后输入数据库名称即可。

图 19-6

mysql图形化管理工具介绍

建立了数据库后,我们可以再建资料表。请对着我们刚建立的数据库按鼠标右键,再点选「Create New Table」即出现下列窗口:

图 19-7

mysql图形化管理工具介绍

请在「Table Name」中输入表格名称,并在上图 2 的部份输入每一个字段的类别,最后按「Apply Changes」即可。建立数据库后,您就可以在 Query Browser 中输入、检视数据库中的数据。只要对着刚才建立的表格点二下,并点选「Execute」即可查看数据库中的数据。如果您要新增一笔数据,请点选下图中 3 的位置,并选择「Edit」即可进行编辑。

图 19-8

mysql图形化管理工具介绍

MySQL 图形化接口的使用相当直觉,您只要多试几次就可以明白各种使用方法了。

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 MYDB 

19.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 template1 

19.8 PostgreSQL 图形化管理工具介绍

许多人可能不太习惯使用命令列来管理数据库,还好 PostgreSQL 提供了许多图形接口的管理工具。您可以在 MS Windows 执行的 pgAdmin。由于这些图形接口操作上比较容易,只要您多试几次,就可以熟悉它们的使用,因此,我们不会深入介绍每个功能的用法。

对于初学者而言,使用 pgAdmin 会比在命令列中输入来得容易。您可以自 http://www.pgadmin.org/ 下载新版本的 pgAdmin。

安装完成后,我们打开 pgAdmin,按了左上角的图示后即出现联机设定的窗体。请输入您数据库服务器的位置及账号密码,如图 19-9 所示:

图 19-9

mysql图形化管理工具介绍

请注意,您必须先将 PostgreSQL 的 TCP/IP 联机打开,而且在 pg_hba.conf 中必须允许使用 pgAdmin 的这台主机登入。您可以参考 19.6 中的说明来设定 pg_hba.conf。输入联机数据后,即可开始使用。以建立一个新的数据库为例,我们先在左边的窗口中,对着数据库按右键,再选取 [新物件]->[新建数据库] 如图 19-10 所示:

图 19-10

mysql图形化管理工具介绍

接着我们可以输入数据库名称、编码方式等,如图 19-11:

图 19-11

mysql图形化管理工具介绍

我们输入了数据库名称为 test,并指定使用 UNICODE 的编码方式。接下来您可以看到在管理窗口中多了一个数据库「test」,我们可以在此数据库中再建立数据表。请先点选数据库「test」,再选择「模式」->「public」->「数据表」,并对着数据表按右键选择「新建数据表」。

图 19-12

mysql图形化管理工具介绍

接下来,您就可以输入资料表名称,再选取「资料行」以设定本数据表的字段数据。

图 19-13

mysql图形化管理工具介绍

在 pgAdmin 的主画面中,最上方有几个功能键,可以让我们手动输入 SQL 指令或是查看数据表内容,建议您可以每一个功能都试试看,以熟悉 pgAdmin 的使用接口。基本上 pgAdmin 十分容易上手,而且也功能十分齐全。

展开全部

相关教程