




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第14章数据库服务器技术Linux网络技术1可编辑ppt第12章网络数据库MySQL服务的配置与应用本章导读MySQL的概述MySQL的安装MySQL服务的配置和使用MySQL的图形化配置安装phpMyAdmin启动和停止MySQL服务2可编辑pptMySQL的概述
MySQL是一个高性能、多线程、多用户、建立在客户/服务器结构上的关系型数据库管理系统(RDBMS)。它始于1979年,最初是MichaelWidenius为瑞典的TcX公司创建的名为UNIREG的数据库系统,但当时的UNIREG没有SQL接口。1996年5月,Widenius开发出了今天众所周知的MySQL最初版本,随后就开始在互联网上公开发行。当前的最新版本是MySQL5.0。3可编辑pptMySQL的概述MySQL的主要特征如下。性能高效而稳定,MySQL几乎比当前可用的其他所有数据库的性能都不差,因此Yahoo、Google、Cisco、HP和NASA等都采用了它作为自己的数据库引擎。开放源代码,MySQL是自由的开放源代码产品,可以在GPL下畅通使用。多用户支持,MySQL可有效地满足50~1000个并发用户的访问,并且在超过600个用户的限度的情况下,MySQL的性能并没有明显的下降。多线程,MySQL使用核心线程的完全多线程,这意味着可以采用多CPU体系结构。开放性,支持ANSISQL-99标准,适用于多种操作系统(如Linux、Solaris、FreeBSD、OS/2、MacOS以及Windows95/98/Me/2000/XP和WindowsNT等),可在多种体系结构(如Intelx86、Alpha、SPARC、PowerPC和IA64等)上运行。广泛的应用程序支持,有C、C++、Java、Perl、PHP和Python等多种客户工具和API的支持。支持事务处理、行锁定、子查询、外键和全文检索等功能。支持大数据库处理,可对某些包含50000000个记录的数据库使用MySQL。有灵活且安全的权限和口令系统,并且允许对其他主机的认证,等等。4可编辑pptMySQL的安装 几乎所有的Linux发行版本都内置了MySQL数据库,RedHatEnterpriseLinux5也不例外,它内置了MySQL-5.0.22-2.1,只不过系统安装程序默认并不安装它。读者可使用下面的命令检查系统是否已经安装了MySQL或查看已经安装了何种版本。 rpm–qmysql5可编辑pptMySQL的安装 如果系统还没有安装MySQL程序,要使用数据库服务,通常需要在RedHatEnterpriseLinux5的安装光盘中找到并安装以下RPM包文件:perl-DBI-1.52-1.fc6.i386.rpm(位于RedHatEnterpriseLinux5的第2张安装光盘);perl-DBD-MySQL-3.0007-1.fc6.i386.rpm(位于RedHatEnterpriseLinux5的第2张安装光盘);openssl-devel-0.9.8b-8.3.el5.i386.rpm(位于RedHatEnterpriseLinux5的第2张安装光盘);e2fsprogs-devel-1.39-8.el5.i386.rpm(位于RedHatEnterpriseLinux5的第2张安装光盘);krb5-devel-1.5-17.i386.rpm(位于RedHatEnterpriseLinux5的第2张安装光盘);zlib-devel-1.2.3-3.i386.rpm(位于RedHatEnterpriseLinux5的第2张安装光盘)。MySQL是客户程序及共享库,其对应的PRM包文件为:mysql-5.0.22-2.1.i386.rpm(位于RedHatEnterpriseLinux5的第2张安装光盘);mysql-server-5.0.22-2.1.i386.rpm(MySQL数据库服务,位于RedHatEnterpriseLinux5的第2张安装光盘);mysql-bench-5.0.22-2.1.i386.rpm(MySQL数据库基准和性能测试工具,位于RedHatEnterpriseLinux5的第3张安装光盘);mysql-devel-5.0.22-2.1.i386.rpm(开发MySQL程序时使用的库和头文件,位于RedHatEnterpriseLinux5的第3张安装光盘)。 要安装上述RPM包文件,可将RedHatEnterpriseLinux5的安装盘放入光驱,加载光驱后在光盘的Server目录下找到相应的RPM安装包文件,然后使用rpm-ivh命令安装6可编辑ppt12.3MySQL服务的配置和使用修改MySQL管理员的口令数据库的创建和删除表的创建、复制、删除和修改表中数据的插入、删除和修改索引的创建与删除用户的创建和删除用户权限的设置7可编辑ppt修改MySQL管理员的口令 使用下面格式的mysqladmin命令创建MySQL管理员root的密码。mysqladmin-urootpassword密码字符串 要连接MySQL服务器,就必须用以下格式的mysql命令。mysql[-h主机名或IP地址][-u用户名][-p] 再想修改其密码,就必须使用以下格式的mysqladmin命令。mysqladmin-uroot-ppassword新密码字符串8可编辑ppt数据库的创建和删除1.创建数据库在MySQL中创建数据库的SQL语句格式为:CREATEDATABASE数据库名称;2.选择数据库要选择一个数据库,使它成为所有事务的当前数据库,可使用以下格式的SQL语句。USE数据库名称;3.删除数据库要删除一个数据库及其所有表(包括表中的数据),可使用以下格式的SQL语句。DROPDATABASE数据库名称;9可编辑ppt表的创建、复制、删除和修改1.创建表在MySQL中创建表,可使用以下格式的SQL语句。CREATETABLE表名称(字段1,字段2,…字段n,[表级约束])[TYPE=表类型];其中:(1)字段i(i=1,2,…,n)的格式为:字段名字段类型[字段约束]10可编辑ppt表的创建、复制、删除和修改部分常用的字段类型类型描述INT允许值在0~232-1(无符号)或-231~231-1(有符号)之间的标准整数DOUBLE双精度浮点数CHAR最大长度不超过255个字符的定长字符串VARCHAR最大长度不超过255个字符的变长字符串TEXT最大长度为65535个字符的字符串BLOB可变数据的二进制类型DATEYYYYMMDD格式表示的日期值11可编辑ppt表的创建、复制、删除和修改约束描述NULL(或NOTNULL)指定允许(或不允许)某字段为空,默认为NULL(允许)DEFAULT为某字段指定一个默认值AUTO_INCREMENT自动为某个INT字段生成一个递增加1的整数常用的字段约束表级约束约束描述PRIMARYKEY为表指定主键FOREIGNKEY…REFERENCES为表指定外键INDEX创建索引UNIQUE为某个字段建立索引,该字段的值必须惟一FULLTEXT为某个字段建立全文索引12可编辑ppt表的创建、复制、删除和修改表类型表类型描述MYISAM具有很多优化和增强的特性,是MySQL默认的表类型ISAM类似MYISAM,但是功能较少HEAP保存在内存中,存取速度快,但存储量小,一旦失败就无法恢复BDB支持事务和页锁定INNODB支持事务、外键和行锁定,它是MySQL中最完善的表格式MERGE可把多个MyISAM表构建为一个虚拟表,使得对这些表的查询仿佛在一个表上进行,提高了查询速度和修复效率,并节省了磁盘空间13可编辑ppt表的创建、复制、删除和修改【例】要在学生选课数据库中创建一个名为student的表(存放学生的有关信息),可输入下面的命令。mysql>createtablestudent(->snovarchar(7)notnull,->snamevarchar(20)notnull,->ssexchar(1)default't',->sbirthdaydate,->sdepachar(20),->primarykey(sno)->);14可编辑ppt表的创建、复制、删除和修改2.复制表在MySQL5中,可以使用下面的SQL语句来复制表结构。CREATETABLE新表名称LIKE源表名称;3.删除表MySQL中删除一个或多个表的SQL语句格式为:DROPTBALE表名称1[,表名称2,…];4.修改表在创建表之后,如果修改表结构,例如添加、删除或者修改表字段,创建或撤销索引,更改表的名称和类型等,则需要使用ALTER语句来进行。ALTER语句的基本格式为:ALTERTABLE表名称更改动作1[,更改动作2,…];15可编辑ppt表中数据的插入、删除和修改1.插入记录在MySQL中,可以使用下面基本格式的SQL语句在表中插入记录。INSERTINTO表名称(字段名1,字段名2,…)VALUES(字段1的值,字段2的值,…);2.删除记录在MySQL中,可使用下面基本格式的SQL语句从表中删除记录。DELETEFROM表名称WHERE条件表达式;3.修改记录除了数据的插入和删除,表中的数据也经常要进行更新。为此,MySQL提供了用于修改记录中数据的SQL语句——UPDATE,该语句的基本格式为:UPDATE表名称SET字段名1=字段值1[,字段名2=字段值2…]WHERE条件表达式;16可编辑ppt索引的创建与删除1.在创建表的同时创建索引 使用PRIMARYKEY子句为该表指定了一个主键sno,MySQL就会自动为该表的sno字段创建索引。此外,在创建表时,还可以用INDEX子句或UNIQUE子句来创建索引。2.向已存在的表添加索引 使用CREATEINDEX语句可向已存在的表添加索引,该语句的基本格式如下:CREATE[UNIQUE]INDEX索引名ON表名称(字段名1[(长度)],…);3.删除索引 当不再需要索引时,可使用DROPINDEX语句删除它,该语句的格式为:DROPINDEX索引名ON表名称;17可编辑ppt用户的创建和删除 原来当首次安装MySQL时,MySQL安装程序在数据库mysql中设置5个MySQL授权表(如表12-5所示),由这5个授权表共同决定哪个用户可以连接服务器、从哪里连接以及连接后可以执行哪些操作。初始化时,表host、tables_priv和columnts_priv是空的,表user和db就决定了MySQL默认的访问规则。下面以MySQL管理员的身份查看一下表user和db的内容。授权表描述user定义哪些用户从哪些主机可以连接到数据库服务器,这些用户的密码以及它们对系统中所有数据库的访问权限(全局权限)db定义连接到数据库服务器的那些用户可以使用哪些数据库,在这些数据库中可执行哪些操作(数据库级权限),db通常与host配合使用host当表db中的Host字段值为空时,由表host定义用户可以从哪些主机连接到数据库服务器,且不同的主机对指定的数据库可有不同的权限tables_priv定义连接到数据库服务器的那些用户可以访问哪些表,以及在这些表中可以执行哪些操作(表级权限)columnts_priv定义连接到数据库服务器的那些用户可以访问哪些字段,以及在这些字段中可以执行哪些操作(字段级权限)授权表18可编辑ppt用户的创建和删除查看数据库mysql中表user前4个字段的内容,可使用下面的命令。mysql>selecthost,user,password,select_privfrommysql.user;要查看数据库mysql中表db的前4个字段内容,可使用下面的命令。mysql>selecthost,db,user,select_privfrommysql.db;19可编辑ppt用户的创建和删除1.创建新用户 要创建一个新用户guest,并为他设置密码,同时允许它从任何主机连接到数据库服务器,可按以下步骤进行设置。①以MySQL管理员身份从本地连接到数据库服务器,可使用下面的命令实现。mysql-uroot-p②创建新用户guest,并为他设置密码,同时允许它从任何主机连接到数据库服务器,可使用下面的命令实现。mysql>insertintomysql.user(host,user,password)->values('%','guest',password('guest')); 此处必须使用password()函数,该函数会为密码加密,这样在表user的字段password中保存的就是经过加密的密码。③重载MySQL授权表,可使用下面的命令实现。mysql>flushprivileges;20可编辑ppt用户的创建和删除2.删除用户删除用户应使用delete语句。【例】要删除用户guest,可使用下面的命令。mysql>deletefrommysql.userwhereuser='guest';3.更改用户密码 由于MySQL授权表实际上与MySQL常规表没有什么本质区别,因此也可以用UPDATE语句来修改其内容,包括修改用户密码。21可编辑ppt用户权限的设置 实际上,MySQL授权表中权限字段有以下两种形式。(1)在表user、db和host中,所有权限字段都被声明为ENUM(‘N’,‘Y’),即每一个权限字段值都可以被设置为‘N’或‘Y’,并且缺省值为‘N’,表12-6列出了表user、db和host中可设置权限的字段。(2)在表tables_priv和columns_priv中,权限字段被声明为SET类型,即可以从所定义的权限集合中选择任意个权限,表12-7列出了表tables_priv和columns_priv中权限字段及可设置的权限。
22可编辑ppt用户权限的设置授权表user、db和host中可设置的权限字段权限名拥有该权限的用户可执行的操作select_priv*SELECT数据查询insert_priv*INSERT数据插入update_priv*UPDATE数据修改delete_priv*DELETE数据删除create_priv*CREATE创建数据库和表drop_priv*DROP删除数据库和表reload_privRELOAD重载/刷新MySQL服务器shutdown_privSHUTDOWN关闭正在运行的MySQL服务器process_privPROCESS在MySQL服务器上跟踪一项活动file_privFILE在服务器上读写文件grant_priv*GRANT授予其他用户拥有该用户拥有的权限references_priv*REFERENCES创建、编辑和删除外键引用index_priv*INDEX创建、编辑和删除表索引alter_priv*ALTER修改表show_db_privSHOWDATABASES显示可使用的数据库super_privSUPER执行管理命令create_tmp_table_priv*CREATETEMPORARYTABLES创建临时表lock_tables_priv*LOCKTABLES创建和删除表锁定execute_privEXECUTE执行被保存的程序repl_slave_privREPLICATIONSLAVE在复制内容中读主二进制日志repl_client_privREPLICATIONCLIENT在复制内容中申请主、副信息23可编辑ppt用户权限的设置授权表tables_priv和columns_priv中权限字段和可设置的权限表名字段名权限集合中的成员tables_privtable_privSelect、Insert、Update、Delete、Create、Drop、Grant、References、Index、Altercolumn_privSelect、Insert、Update、Referencescolumns_privcolumn_privSelect、Insert、Update、References24可编辑ppt用户权限的设置1.使用GRANT语句授权GRANT语句的基本格式如下:GRANT权限列表[(字段列表)]ON数据库名称.表名称TO用户名@域名或IP地址[IDENTIFIEDBY'密码值'][WITHGRANTOPTION];设置“域名或IP地址”的几种常见情况域名或IP地址描述(空白)从任何主机连接数据库服务器,等价于‘%’‘%’从任何主机连接数据库服务器‘%.’从域中的任何主机连接数据库服务器‘192.168.16.%’从子网中的任何主机连接数据库服务器localhost从本地主机连接数据库服务器7从IP地址为7的主机连接数据库服务器‘/20’从子网192.168.16/20中的任何主机连接数据库服务器fedora4@从域名为fedora4@的主机连接数据库服务器25可编辑ppt用户权限的设置(2)授予用户不同级别的访问权限 例如,要新建一个用户tom,让他能从子网中任何主机连接到数据库服务器,可以读取数据库xsxk的内容,并且能修改表course中字段techer的值,可使用下面的命令。mysql>grantselectonxsxk.*totom@'192.168.16.%'identifiedby'123456';mysql>grantupdate(teacher)onxsxk.coursetotom@'192.168.16.%';
使用GRANT语句设置权限运用级别的示例数据库名称.表名称描述权限运用级别决定权限运用级别的授权表*.*适用于所有数据库和所有表全局级userxsxk.*(或xsxk)适用于指定数据库xsxk中的所有表数据库级dbxsxk.student适用于数据库xsxk中的指定表student表级tables_priv26可编辑ppt(3)授予用户管理权限的权利 例如,MySQL管理员要授予用户admin可以从本地连接到数据库服务器,对学生选课数据库xsxk具有完全访问权限,并可将其所拥有的权限授予其他用户,可使用下面的命令。mysql>grantallonxsxk.*toadmin@localhostidentifiedby'sW56$Azx'->withgrantoption;2.使用REVOKE语句撤权REVOKE语句的基本格式如下:REVOKE权限列表[(字段列表)]ON数据库名称.表名称FROM用户名@域名或IP地址27可编辑ppt12.4MySQL的图形化配置 目前,架设动态Web站点比较流行的是采用Linux上的Apache+MySQL+PHP(简称LAMP)组合方案,即用Apach作Web服务器,MySQL充当后台管理数据库,用PHP开发Web程序。采用这种组合方案来开发和架设Web站点,具有免版权费、系统效率高、灵活、可扩展、稳定和高度安全等优点,只是在站点的架设、升级与维护上有一定的难度。MySQL标准发行版本没有提供图形界面管理工具,因此使用起来有些困难。为了解决这个问题,TobiasRatschiller开发了一套用于管理MySQL数据库的开放源代码的工具——phpMyAdmin(如图12-48所示为phpMyAdmin的官方网站)。在经过众多爱好者的共同修改与再开发后,目前使用phpMyAdmin已经可以很方便地完成大部分MySQL数据库管理员需要完成的工作。28可编辑ppt12.5安装phpMyAdmin配置phpMyAdmin配置phpMyAdmin虚拟目录使用phpMyAdmin29可编辑ppt12.5安装phpMyAdmin
phpMyAdmin是用PHP编制的一种B/S(浏览器/服务器)结构的“软件”,与其说是软件,还不如说是一些放在服务器端的通过浏览器界面管理的页面程序文件,因此安装phpMyAdmin实际上就是将它解压到一个允许执行PHP的目录下。安装的具体步骤如下。①从/projects/phpmyadmin/下载最新的phpMyAdmin版本,将它的打包tar文件(如phpMyAdmin-2.10.3-all-languages.tar.gz)复制到/root目录下。②将tar文件解压缩到/root,可执行下面的命令。tarxvzfphpMyAdmin-2.10.3-all-languages.tar.gz 该命令执行后,将在/root目录下生成一个子目录phpMyAdmin-2.10.3-all-languages。③为了便于测试,将子目录phpMyAdmin-2.10.3-all-languages移动到默认ApacheWeb站点的主目录/var/www/html下,并改名为phpMyAdmin,可使用下面的命令。mvphpMyAdmin-2.10.3-all-languages/var/www/html/phpMyAdmin30可编辑ppt配置phpMyAdmin 将phpMyAdmin安装到系统中后,还需要进行一定的配置才能正常使用。配置phpMyAdmin,实际上是通过修改配置文件config.inc.php实现的,该文件位于刚建立的目录/var/www/html/phpMyAdmin中。31可编辑ppt配置phpMyAdmin……$cfg['PmaAbsoluteUri']='';……$i=0;$i++;$cfg['Servers'][$i]['host']='localhost';$cfg['Servers'][$i]['port']='';$cfg['Servers'][$i]['socket']='';$cfg['Servers'][$i]['connect_type']='tcp';$cfg['Servers'][$i]['extension']='mysql';$cfg['Servers'][$i]['compress']=FALSE;$cfg['Servers'][$i]['controluser']='';$cfg['Servers'][$i]['controlpass']='';$cfg['Servers'][$i]['auth_type']='config';$cfg['Servers'][$i]['user']='root';$cfg['Servers'][$i]['password']='ilGHW56p';$cfg['Servers'][$i]['only_db']='';……32可编辑ppt配置phpMyAdmin 完成了上述设置后,要测试phpMyAdmin能否正常工作,可在本地浏览器的地址栏中输入“http://localhost/phpMyAdmin”。如果配置无误的话,则能看到phpMyAdmin管理界面。33可编辑ppt配置phpMyAdmin虚拟目录①配置DNS。假设在DNS服务器上已经创建了一个名为“”的主区域,那么可在该区域的配置文件中加入下面的一条CNAME(别名)记录。mysqlINCNAME.②安装phpMyAdmin。由于前面已经配置了phpMyAdmin,因此此时只需要使用下面的命令将/var/www/html/phpMyAdmin目录移动到/var目录中。mv/var/www/html/phpMyAdmin/var34可编辑ppt配置phpMyAdmin虚拟目录③配置phpMyAdmin虚拟目录。这是通过修改Apache服务的配置文件/etc/httpd/conf/httpd.conf来实现的。在该配置文件中可加入以下内容。Alias/pma"/var/phpMyAdmin" #为/var/phpMyAdmin创建虚拟目录pma<Directory"/var/phpMyAdmin"> #以下内容为虚拟目录设置权限 OptionsFollowSymLinks #允许服务器在该目录中使用符号链接 AllowOverrideNone #禁止使用.htaccess文件 AuthTypeBasic #设置认证类型为基本认证 AuthName"PleaseLogin" #将在提示对话框中显示“PleaseLogin” AuthUserFile/etc/apachepasswd/userpwd #指定用来存放用户密码的文件 requireuserroot #设置能访问该虚拟目录的用户为root requireusermysql</Directory>④建立密码文件并为用户设置密码。使用下面的命令可创建一个新的记录用户名和用户密码的密码文件。 mkdir/etc/apachepasswd cd/etc/apachepasswdhtpasswd-cuserpwdroot35可编辑ppt配置phpMyAdmin虚拟目录⑤设置允许Apache守护进程httpd访问phpMyAdmin虚拟目录。在RedHatEnterpriseLinux5中,由于SELinux被默认安装并被开启使用,在默认的SELinux安全配置中,httpd被目标策略所控制,因此为了让用户能够通过网络访问phpMyAdmin虚拟目录,就必须设置允许Apache守护进程httpd访问phpMyAdmin虚拟目录。具体设置方法是,使用下面的命令让httpd可以读取在虚拟目录phpMyAdmin中被标记为httpd_sys_content_t的所有文件。 chcon-R-h-thttpd_sys_content_t/var/phpMyAdmin36可编辑ppt配置phpMyAdmin虚拟目录⑥在MySQL中创建用户。为了确保MySQL数据库的安全,应为MySQL管理员(root用户)设置密码,该密码可以与刚才创建的用于访问phpMyAdmin虚拟目录的root用户密码相同。这样,在phpMyAdmin的配置文件c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年贵州省安全员考试题库
- 2025年吉林省安全员B证考试题库
- 重庆工商大学派斯学院《酒店营销》2023-2024学年第二学期期末试卷
- 青岛港湾职业技术学院《口腔设备学》2023-2024学年第二学期期末试卷
- 武汉东湖学院《社会哲学》2023-2024学年第二学期期末试卷
- 2025年海南省建筑安全员-C证考试(专职安全员)题库附答案
- 南京信息工程大学《少儿体操与健美操》2023-2024学年第二学期期末试卷
- 南京审计大学金审学院《生物合成实验》2023-2024学年第二学期期末试卷
- 广东青年职业学院《建筑法规1》2023-2024学年第二学期期末试卷
- 武汉生物工程学院《妇女健康与康复》2023-2024学年第二学期期末试卷
- 加德纳多元智能测评量表【复制】
- (完整)PEP人教版小学生英语单词四年级上册卡片(可直接打印)
- 面神经疾病课件
- 基本公共卫生服务项目绩效考核的课件
- 三年级下册小学科学活动手册答案
- 国家电网有限公司十八项电网重大反事故措施(修订版)
- 班、团、队一体化建设实施方案
- 最全的人教初中数学常用概念、公式和定理
- 桥面结构现浇部分施工方案
- 开网店全部流程PPT课件
- 人教部编版四年级语文下册《第1课 古诗词三首》教学课件PPT小学优秀公开课
评论
0/150
提交评论