13.1 MySQL数据库的安装与配置
数据库是以结构化格式组织的数据的集合,这些数据集合是需要通过某种程序或软件创建和维护的,MySQL就是这些众多软件中的一员,SQLServer、Oracle和Sybase也是其中的成员。读者在这里需要明白一点,MySQL本身并不是数据库,它只是用来创建、维护和管理数据库的计算机软件,这些软件被称作数据库管理系统(DBMS)。通常情况下,技术人员就是通过数据库管理系统来维护数据库中的数据的。
13.1.1 认识MySQL
MySQL是一款免费软件,它基于开放软件的理念,提供免费和低成本的数据库解决方案。重要的是,它在性能、安全和稳定性方面,完全可以满足大多数Web开发的需要。MySQL的特点就是灵活而不失强大,和Oracle等DBMS相比,它本身并不庞大,但仍然集中了大量特性,使其快速高效。因此,对于中小规模的数据库需求来说,它已足够。
MySQL是基于关系数据库的,当前,大多数数据库都是关系数据库。关系数据库是数据库类别中的一种,它将数据组织成表,并表现为表与表之间的关系。通过这种关系,数据库管理系统可以从不同的表中提取某种特定的数据集合。关于表的概念在下节会有更多的介绍。
MySQL数据库的主要特性如下所述。
·跨平台作业:MySQL可以部署在不同的操作系统。
·支持的编程语言:C、C++、Eiffel、Java、Perl、PHP、Python、Ruby、Tcl的API。
·多线程技术:充分发挥多CPU的优势。
·存储引擎:提供了事务性和非事务性存储引擎。
·磁盘表:使用“B树”磁盘表,即MyISAM。
·内存管理:基于线程的内存分配系统。
MySQL的特性还有很多,在实际使用中,可以根据这些特性,来确定其在软件项目中的应用。MySQL不仅是小型网站数据库的最好选择,在一些大型项目中,MySQL的表现也令人满意。本书将选择MySQL数据库作为主要的数据库进行讲解。
13.1.2 安装MySQL前的准备
在程序运行中计算出来的结果通常需要进行保存,以供其他程序使用,而最简单方法,就是把数据保存到文件中,但是其性能很有限,一旦数据达到一定的数量,检索和编辑数据,就是件很困难的事。而这时就需要使用数据库软件来管理、存取大量的数据。
本书选择MySQL作为使用的数据库软件,在大型程序中,数据库的安装与配置会直接影响程序对数据操作时的性能,在接下来的安装过程中,会详细讲解MySQL的安装与配置方法。安装前还必须进行如下准备。
(1)登录MySQL官方网站为http://www.mysql.org/下载最新的MySQL数据库安装程序,本书使用的是MySQL 5.0.45,下载地址为http://www.mysql.org/get/Downloads/MySQL-5.0/mysql-essential-5.0.45-win32.msi/from/http://mysql.byungsoo.net/。
(2)MySQL官方网站提供了适用于不同操作系统的文件,在下载时请注意选择正确的操作系统。
(3)MySQL的Windows版本提供了安装版与非安装版两个版本,本书选择的是安装版本。
13.1.3 安装并配置MySQL
正式安装MySQL的详细步骤如下。
(1)双击已经下载的MySQL安装文件,出现软件安装向导对话框,如图13-1所示。
(2)单击“Next>”按钮进入到选择安装类型界面,如图13-2所示。MySQL安装程序提供3种安装类型,Typical即典型安装、Complete即完全安装、Custom即自定义安装,在没有特殊情况下,请选择典型安装。
(3)选择完安装类型后,单击“Next>”按钮进入安装确认界面,如图13-3所示。
注意 在典型安装模式下,MySQL不提供选择安装目录的功能,若要选择安装目录,须选择自定义安装模式。
图13-1 MySQL软件安装向导
图13-2 MySQL选择安装类型界面
(4)确认要安装MySQL后,单击“Install”按钮开始安装过程,如图13-4所示。
图13-3 安装确认界面
图13-4 MySQL安装过程
(5)完装完成后,会出现两个广告窗口,如图13-5、图13-6所示。
图13-5 广告窗口
图13-6 广告说明窗口
(6)单击广告窗口的“Next>”按钮,进入安装完成界面,如图13-7所示。安装完成界面中有一个复选框,如果这个复选框勾选,那么程序安装完成后会自动进行MySQL配置程序。如果不想马上配置MySQL,可以取消勾选复选框。
(7)勾选安装完成界面中的复选框,这里单击“Finish”按钮,进入MySQL配置向导程序,如图13-8所示。
图13-7 安装完成界面
图13-8 MySQL配置向导
(8)单击“Next>”按钮,进入选择配置类型界面,如图13-9所示。
(9)MySQL配置程序提供了两种配置类型供选择,一种是Detailed Configuration,即详细配置,选择详细配置后,配置程序会给出MySQL主要的参数供用户选择;另一种是Standard Configuration,即标准配置,选择标准配置后,配置程序会自动完成配置工作。为了让读者了解MySQL的配置选项,本书选择详细配置。然后单击“Next>”按钮,进入服务器类型选择界面,如图13-10所示。
图13-9 选择配置类型界面
图13-10 服务器类型选择界面
(10)MySQL的服务器类型有:开发模式,服务器模式和专用MySQL服务器模式,这3种模式对CPU、内存和硬件都有不同的要求,具体如下所述。
·Developer Machine(开发模式):代表典型个人用桌面工作站。假定机器上运行着多个桌面应用程序,将MySQL服务器配置成使用最少的系统资源。
·Server Machine(服务器模式):代表服务器,MySQL服务器可以同其他应用程序一起运行,例如FTP、email和web服务器。MySQL服务器配置成使用适当比例的系统资源。
·Dedicated MySQL Server Machine(专用MySQL服务器模式):代表只运行MySQL服务的服务器。假定运行没有运行其他应用程序。MySQL服务器配置成使用所有可用系统资源。
在安装MySQL时,可根据需要来选择正确的服务器类型,这里选择开发模式。然后单击“Next>”按钮进入数据库使用情况界面,如图13-11所示。
(11)通过数据库使用情况界面,可以指出创建MySQL表时使用的表处理器,可以选择是否使用InnoDB储存引擎以及InnoDB占用多大比例的服务器资源。
·Multifunctional Database(多功能数据库):选择该选项,则同时使用InnoDB和MyISAM储存引擎,并在两个引擎之间平均分配资源。建议经常使用两个储存引擎的用户选择该选项。
·Transactional Database Only(只是事务处理数据库):该选项同时使用InnoDB和MyISAM储存引擎,但是将大多数服务器资源指派给InnoDB储存引擎。建议主要使用InnoDB,只偶尔使用MyISAM的用户选择该选项。
·Non-Transactional Database Only(只是非事务处理数据库):该选项完全禁用InnoDB储存引擎,将所有服务器资源指派给MyISAM储存引擎。建议不使用InnoDB的用户选择该选项。
在配置MySQL时,根据自己的需要选择使用,本书选择多功能数据库,然后单击“Next>”按钮,进入InnoDB表空间界面,如图13-12所示。
图13-11 数据库使用情况界面
图13-12 InnoDB表空间界面
(12)因为表空间占用的硬盘空间比较大,所以配置时可以选择不同的硬盘来放置表空间,可以通过选择不同的盘符和选择路径来确定表空间存放的位置。如果电脑主机上有较大的空间或较高性能的储存设备(例如RAID储存系统),则最好将表空间文件单独放到一个位置。本书选择默认位置,单击“Next>”按钮进入并发连接界面,如图13-13所示。
(13)MySQL配置程序给出3个关于并发连接的方案,如下所述。
·Decision Support(决策支持)(DSS)/OLAP:如果服务器不需要大量的并行连接可以选择该选项。假定最大连接数目设置为100,平均并行连接数为20。
·Online Transaction Processing(联机事务处理)(OLTP):如果你的服务器需要大量的并行连接则选择该选项。最大连接数设置为500。
·Manual Setting(人工设置):选择该选项可以手动设置服务器并行连接的最大数目。从下拉列表中选择并行连接的数目,如果期望的数目不在列表中,则在下拉列表框中输入最大连接数。
注意 限制所创建的与MySQL服务器之间的并行连接数量很重要,可以防止服务器耗尽资源。在并行连接界面中,可以根据实际情况限制并行连接的数量。
本书选择的并发链接方案为决策支持,单击“Next>”按钮,进入联网选项界面,如图13-14所示。
图13-13 并发连接界面
图13-14 联网选项界面
(14)在网络选项界面中可以启用或禁用TCP/IP网络,并配置用来连接MySQL服务器的端口号。默认情况启用TCP/IP网络。要想禁用TCP/IP网络,取消勾选“Enable TCP/IP Networking”复选框即可。
在MySQL默认端口号3306端口被占用时或出于安全方面的考虑时,可以更改访问MySQL使用的端口号,在下拉列表中选择一个新端口号或直接在下拉列表框中输入新的端口号即可。如果输入的端口号已经被占用,将提示确认选择的端口号。本书中选择默认配置,单击“Next>”按钮进入字符集界面,如图13-15所示。
声明 Enable Strict Mode是配置程序推荐选择的项目,开启这个功能后,MySQL会更加严格地对字段进行检查。
(15)MySQL服务器支持多种字符集,可以设置适用于所有表、列和数据库的默认服务器字符集。使用Character Set(字符集对话框)来更改MySQL服务器的默认字符集。
·Standard Character Set(标准字符集):如果想要使用Latin1作为默认服务器字符集,则选择该选项。Latin1用于英语和许多西欧语言。
·Best Support For Multilingualism(支持多种语言):如果想要使用UTF8作为默认服务器字符集,则选择该选项。UTF8可以将不同语言的字符储存为单一的字符集。
·Manual Selected Default Character Set/Collation(人工选择的默认字符集/校对规则):如果想要手动选择服务器的默认字符集,请选择该项。从下拉列表中选择期望的字符集。
本书选择标准字符集,即Latin1字符集。然后单击“Next>”按钮进入服务选项对话框,如图13-16所示。
图13-15 字符集对话框
图13-16 服务选项对话框
(16)在基于Windows NT的平台上,可以将MySQL服务器安装成服务。安装成服务后,系统启动时可以自动启动MySQL服务器,甚至出现服务故障时可以随Windows自动启动。
默认情况下,MySQL配置向导将MySQL服务器安装为服务,服务名为MySQL。如果不想安装服务,取消勾选“Install As Windows Service”复选框即可。可以通过从下拉列表中选择新的服务名或在下拉列表框中输入新的服务名来更改服务名。
注意 要想将MySQL服务器安装为服务,但是不随计算机自动启动,可以通过取消勾选“Launch the MySQL Server Automatically”复选框来实现。
勾选“Include Bin Directory Windows PATH”复选框时,配置向导会向系统的路径中添加MySQL的Bin路径,MySQL的Bin目录里存放着MySQL的主要程序,这就意味着可以在CMD窗口中任意目录下运行MySQL程序。本书选择默认配置,单击“Next>”按钮,进入安全选项界面,如图13-17所示。
(17)默认情况下,MySQL配置向导要求设置一个root密码,在“New root password”(输入新密码)和“Confirm”(确认)文本框内输入密码即可。如果重新配置已有的服务器,还需要在“Current root password”(当前root密码)文本框内输入已有的root密码。如果不想设置root密码,可以不勾选“Modify Security Settings”(修改安全设定值)复选框。
如果想通过网络以root身份登录,可以勾选“Enable root access from remote machines”复选框,但这样会降低root账户的安全。要想创建一个匿名用户账户,勾选“Create An Anonymous Account”(创建匿名账户)复选框即可。创建匿名账户会降低服务器的安全,并造成登录和许可困难,不建议使用。
本书选择为root账号设置密码,在密码输入框和确认密码输入框中输入相同密码后单击“Next>”按钮,进入配置界面,如图13-18所示。
(18)到目前为止,MySQL的配置工作已经完成了,配置向导如果确认当前配置后,单击“Execute”按钮,之前的配置就会生效。同时,配置向导会把配置的细节写入my.ini文件,即MySQL的配置文件,其路径显示在“Write Configuration file”选项右侧。同时,配置向导会启动MySQL服务,并显示一个配置概要,如图13-19、图13-20所示。
图13-17 安全选项界面
图13-18 配置界面
图13-19 配置过程
图13-20 显示配置概要
(19)显示概要后,单击“Finish”按钮,完成MySQL的配置过程。
MySQL完成后,就可以通过PHP代码或其他语言对其进行访问,或使用管理工具对其进行管理与维护。
读者也可以通过单击“开始”按钮,选择所有“程序”|“MySQL”|“MySQL Server 5.0”|“MySQL Server Instance Config Wizard”命令,或运行MySQL安装目录下bin文件夹里的MySQLInstanceConfig.exe程序,都可以启动MySQL的配置向导。
13.1.4 管理工具
MySQL是支持命令行管理的,但是其复杂的语法,使很多初学者望而却步。兴好MySQL有很多可视化的界面管理工具,phpMyAdmin就是其中之一。
phpMyAdmin是一个老牌的MySQL管理工具,其本身是使用PHP编写的,支持多国语言,以及各种字符集。phpMyAdmin以网站的形式运行,通过网络就可以管理服务器上的MySQL。其不仅可以完成数据库,以及数据表的各种管理,还可以以各种格式导入、导出数据库中数据。同时使用phpMyAdmin,还可以查看MySQL的进程,以及相关的运行信息。
在互网联上,还有很多功能强大的MySQL管理工具,有和phpMyAdmin一样的网站管理工具,也有直接运行在服务器上可执行文件管理工具。本书将使用phpMyAdmin作为MySQL的管理工具,并在后面的内容中介绍其安装与配置的过程。
13.1.5 PHP配置文件与MySQL访问
老版本的PHP中默认启用了MySQL支持。在PHP5.0以后的版本中,需要手动加载PHP中的MySQL支持模块,才可以使用PHP访问MySQL。下面分步骤介绍开启MySQL支持的方法。
(1)使用记事本打开PHP配置文件,使用查找功能,查找字符串extension=php_mysql.dll。
(2)将光标定位到PHP配置文件中,在关于开启MySQL支持模块的行中去掉extension=php_mysql.dll行以及其下一行(即extension=php_mysqli.dll行)前的分号,即可开启MySQL支持模块。
设置完成后,PHP配置文件中关于MySQL的设置如下。
;extension=php_ming.dll ;extension=php_msql.dll ;extension=php_mssql.dll extension=php_mysql.dll// 去掉此行前的分号,以开启MySQL 支持 extension=php_mysqli.dll// 去掉此行前的分号,以开启MySQLI 支持 ;extension=php_oci8.dll
PHP配置文件修改完成后,保存文件后退出。重新启动Apache服务,此时就可以使用PHP访问MySQL数据库了。
注意 php_mysql.dll模块运行类似于mysql_connect()的函数访问数据库。php_mysqli.dll支持类似于mysqli_connect()的函数访问数据库,并具有允许用户访问MySQL4.1以及更高版本提供的功能。
13.1.6 下载phpMyAdmin
phpMyAdmin的官方下载网站是http://www.phpmyadmin.net,可以在其“Downloads”栏目下载最新或稳定版本的phpMyAdmin。phpMyAdmin提供了多语言版和英文版,这里以安装常用的3.X为例,从其网站上下载多语言版本的phpMyAdmin压缩包,如图13-21所示。
图13-21 phpMyAdmin的下载界面
下载后的ZIP文件通过解压软件进行解压到本地磁盘。如果本地有MySQL,则可在本地测试,否则需要上传到支持MySQL的Web服务器上。这里以在本地安装、使用为例。例如,将phpMyAdmin解压至本地Web根目录下,将解压后的文件夹改名为“phpmyadmin”,则可通过http://localhost/phpmyadmin访问phpMyAdmin。
13.1.7 配置phpMyAdmin
在使phpMyAdmin可以使用之前,需要对一些文件进行配置。在phpMyAdmin解压后的目录中有一个名为config.sample.inc.php的文件,它是phpMyAdmin配置文件的样本文件。将此文件中的所有代码复制,以config.inc.php为名另存到当前目录下,此时config.inc.php就是phpMyAdmin的配置文件。
对于config.inc.php,最重要的是配置phpMyAdmin连接MySQL的用户名和密码,在该文件中找到如下内容。
// $cfg['Servers'][$i]['controluser'] = 'pma'; // $cfg['Servers'][$i]['controlpass'] = 'pmapass';
将这段内容中的注释符号“//”去掉,同时输入MySQL中配置的用户名和密码,如下。
$cfg['Servers'][$i]['controluser'] = 'root'; $cfg['Servers'][$i]['controlpass'] = '******'; // 读者需要在这里更换为自己的MySQL 密码
此时访问http://localhost/phpmyadmin,会看到如图13-22所示的phpMyAdmin登录界面。
输入本地MySQL的用户名和密码,即可登录phpMyAdmin,登录后的界面如图13-23所示。
图13-22 phpMyAdmin登录界面
图13-23 phpMyAdmin的管理首页
从图13-23可以看出,管理界面最左半部分是当前MySQL服务器中所建立的数据库,右半部分列出了当前MySQL服务器的一些信息,如服务器版本、当前登录用户、MySQL所使用的字符集等。
13.1.8 使用phpMyAdmin
使用phpMyAdmin可以很轻松地完成对MySQL数据库的各项管理工作。选择相关数据库可看到数据库中的各表,可进行表、字段的增删改,可以导入、导出数据库信息。以当前的mybbs数据库为例,各种操作过程演示如下。
(1)单击左侧列表的“mybbs”项进入mybbs数据库,可以看到如图13-24所示的界面。
图13-24 数据库的管理界面
从图13-24可看出,phpMyAdmin列出了mybbs数据库中的所有表信息,包括表名、对表的修改、删除等操作选项、表中的记录数、表所使用的字符集、表的大小等。
(2)在表信息界面的上部,还有执行SQL查询的链接、搜索数据的链接、导出数据的链接等多项操作选项。在下半部分,有创建新表的快捷方式。单击表名“users”,转入phpMyAdmin表管理界面,如图13-25所示。
图13-25 phpMyAdmin表管理界面
(3)从表管理界面中可以看到表boards的表结构信息,包括字段名、字段类型、字段字符集、字段默认值以及字段是否可以为空等信息。最后还列出了对字段的各项操作,如删除、修改等。单击页面最上部的“浏览”链接,可以查看表中的记录,如图13-26所示。
图13-26 浏览记录的界面
(4)可以看到表users中的所有记录都被列出,同时提供了各项操作功能。另外可以在phpMyAdmin中执行SQL语句,在phpMySQL的管理界面最上部单击“SQL”链接,进入输入SQL语句的界面,如图13-27所示。
图13-27 执行SQL语句的界面
可以在这个界面中输入要执行的SQL语句,查询结果会由phpMyAdmin列出。
phpMyAdmin还提供了数据导出导入功能,可以很方便地备份和恢复数据库。以导出数据为例,单击phpMyAdmin管理界面中的导出选项,将会看到如图13-28所示的界面,这里选择的是“自定义”形式导出。
图13-28 phpMyAdmin导出数据的功能
从这里可以选择导出数据的各个选项,包括数据是否完整导出,或者只导出表结构、从第几行开始导出、导出后另存为文件等。读者在实际使用过程中,可以了解到更多关于phpMyAdmin的应用。
共有条评论 网友评论