已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第14章 数据库服务器技术,Linux网络技术,第12章 网络数据库MySQL服务的配置与应用,本章导读 MySQL的概述 MySQL的安装 MySQL服务的配置和使用 MySQL的图形化配置 安装phpMyAdmin 启动和停止MySQL服务,MySQL的概述,MySQL是一个高性能、多线程、多用户、建立在 客户/服务器结构上的关系型数据库管理系统 (RDBMS)。它始于1979年,最初是Michael Widenius为瑞典的TcX公司创建的名为UNIREG的 数据库系统,但当时的UNIREG没有SQL接口。 1996年5月,Widenius开发出了今天众所周知的 MySQL最初版本,随后就开始在互联网上公开发行。 当前的最新版本是MySQL 5.0。,MySQL的概述,MySQL的主要特征如下。 性能高效而稳定,MySQL几乎比当前可用的其他所有数据库的性能都不差,因此Yahoo、Google、Cisco、HP和NASA等都采用了它作为自己的数据库引擎。 开放源代码,MySQL是自由的开放源代码产品,可以在GPL下畅通使用。 多用户支持,MySQL可有效地满足501000个并发用户的访问,并且在超过600个用户的限度的情况下,MySQL的性能并没有明显的下降。 多线程,MySQL使用核心线程的完全多线程,这意味着可以采用多CPU体系结构。 开放性,支持ANSI SQL-99标准,适用于多种操作系统(如Linux、Solaris、FreeBSD、OS/2、MacOS以及Windows95/98/Me/2000/XP和Windows NT等),可在多种体系结构(如Intel x86、Alpha、SPARC、PowerPC和IA64等)上运行。 广泛的应用程序支持,有C、C+、Java、Perl、PHP和Python等多种客户工具和API的支持。 支持事务处理、行锁定、子查询、外键和全文检索等功能。 支持大数据库处理,可对某些包含50 000 000个记录的数据库使用MySQL。 有灵活且安全的权限和口令系统,并且允许对其他主机的认证,等等。,MySQL的安装,几乎所有的Linux发行版本都内置了MySQL数据 库,Red Hat Enterprise Linux 5也不例外,它内置 了MySQL-5.0.22-2.1,只不过系统安装程序默认并 不安装它。读者可使用下面的命令检查系统是否已 经安装了MySQL或查看已经安装了何种版本。 rpm q mysql,MySQL的安装,如果系统还没有安装MySQL程序,要使用数据库服务,通常需要在Red Hat Enterprise Linux 5的 安装光盘中找到并安装以下RPM包文件: perl-DBI-1.52-1.fc6.i386.rpm(位于Red Hat Enterprise Linux 5的第2张安装光盘); perl-DBD-MySQL-3.0007-1.fc6.i386.rpm(位于Red Hat Enterprise Linux 5的第2张安装光盘); openssl-devel-0.9.8b-8.3.el5.i386.rpm(位于Red Hat Enterprise Linux 5的第2张安装光盘); e2fsprogs-devel-1.39-8.el5.i386.rpm(位于Red Hat Enterprise Linux 5的第2张安装光盘); krb5-devel-1.5-17.i386.rpm(位于Red Hat Enterprise Linux 5的第2张安装光盘); zlib-devel-1.2.3-3.i386.rpm(位于Red Hat Enterprise Linux 5的第2张安装光盘)。 MySQL是客户程序及共享库,其对应的PRM包文件为: mysql-5.0.22-2.1.i386.rpm(位于Red Hat Enterprise Linux 5的第2张安装光盘); mysql-server-5.0.22-2.1.i386.rpm(MySQL数据库服务,位于Red Hat Enterprise Linux 5的第2张安装光盘); mysql-bench-5.0.22-2.1.i386.rpm(MySQL数据库基准和性能测试工具,位于Red Hat Enterprise Linux 5的第3张安装光盘); mysql-devel-5.0.22-2.1.i386.rpm(开发MySQL程序时使用的库和头文件,位于Red Hat Enterprise Linux 5的第3张安装光盘)。 要安装上述RPM包文件,可将Red Hat Enterprise Linux 5的安装盘放入光驱,加载光驱后在光盘 的Server目录下找到相应的RPM安装包文件,然后使用rpm -ivh命令安装,12.3MySQL服务的配置和使用,修改MySQL管理员的口令 数据库的创建和删除 表的创建、复制、删除和修改 表中数据的插入、删除和修改 索引的创建与删除 用户的创建和删除 用户权限的设置,修改MySQL管理员的口令,使用下面格式的mysqladmin命令创建MySQL管 理员root的密码。 mysqladmin -u root password 密码字符串 要连接MySQL服务器,就必须用以下格式的 mysql命令。 mysql -h 主机名或IP地址 -u 用户名 -p 再想修改其密码,就必须使用以下格式的 mysqladmin命令。 mysqladmin -u root -p password 新密码字符串,数据库的创建和删除,1创建数据库 在MySQL中创建数据库的SQL语句格式为: CREATE DATABASE 数据库名称; 2选择数据库 要选择一个数据库,使它成为所有事务的当前数据库,可使用以下格式的SQL语句。 USE 数据库名称; 3删除数据库 要删除一个数据库及其所有表(包括表中的数据),可使用以下格式的SQL语句。 DROP DATABASE数据库名称;,表的创建、复制、删除和修改,1创建表 在MySQL中创建表,可使用以下格式的SQL语句。 CREATE TABLE 表名称(字段1,字段2,字段n,表级约束) TYPE=表类型; 其中: (1)字段i(i=1,2,n)的格式为: 字段名 字段类型 字段约束,表的创建、复制、删除和修改,部分常用的字段类型,表的创建、复制、删除和修改,常用的字段约束,表级约束,表的创建、复制、删除和修改,表类型,表的创建、复制、删除和修改,【例】要在学生选课数据库中创建一个名为student的表(存放学生的有关信息),可输入下面的命令。 mysqlcreate table student( -sno varchar(7) not null, -sname varchar(20) not null, -ssex char(1) default t, -sbirthday date, -sdepa char(20), -primary key (sno) -);,表的创建、复制、删除和修改,2复制表 在MySQL 5中,可以使用下面的SQL语句来复制表结构。 CREATE TABLE 新表名称 LIKE 源表名称; 3删除表 MySQL中删除一个或多个表的SQL语句格式为: DROP TBALE 表名称1,表名称2,; 4修改表 在创建表之后,如果修改表结构,例如添加、删除或者修改表字段,创建或撤销索引,更改表的名称和类型等,则需要使用ALTER语句来进行。ALTER语句的基本格式为: ALTER TABLE 表名称 更改动作1,更改动作2,;,表中数据的插入、删除和修改,1插入记录 在MySQL中,可以使用下面基本格式的SQL语句在表中插入记录。 INSERT INTO 表名称(字段名1,字段名2,) VALUES (字段1的值,字段2的值,); 2删除记录 在MySQL中,可使用下面基本格式的SQL语句从表中删除记录。 DELETE FROM 表名称 WHERE 条件表达式; 3修改记录 除了数据的插入和删除,表中的数据也经常要进行更新。为此,MySQL提供了用于修改记录中数据的SQL语句UPDATE,该语句的基本格式为: UPDATE 表名称 SET 字段名1=字段值1,字段名2=字段值2 WHERE 条件表达式;,索引的创建与删除,1在创建表的同时创建索引 使用PRIMARY KEY子句为该表指定了一个主键sno,MySQL就会自 动为该表的sno字段创建索引。此外,在创建表时,还可以用INDEX子 句或UNIQUE子句来创建索引。 2向已存在的表添加索引 使用CREATE INDEX语句可向已存在的表添加索引,该语句的基本 格式如下: CREATE UNIQUEINDEX 索引名 ON 表名称 (字段名1(长度),); 3删除索引 当不再需要索引时,可使用DROP INDEX语句删除它,该语句的格 式为: DROP INDEX 索引名 ON 表名称;,用户的创建和删除,原来当首次安装MySQL时, MySQL安装程序在数据库mysql中设 置5个MySQL授权表(如表12-5所 示),由这5个授权表共同决定哪个用 户可以连接服务器、从哪里连接以及 连接后可以执行哪些操作。初始化 时,表host、tables_priv和 columnts_priv是空的,表user和db就 决定了MySQL默认的访问规则。下面 以MySQL管理员的身份查看一下表 user和db的内容。,授权表,用户的创建和删除,查看数据库mysql中表user前4个字段的内容,可使用下面的命令。 mysqlselect host,user,password,select_priv from mysql.user; 要查看数据库mysql中表db的前4个字段内容,可使用下面的命令。 mysqlselect host,db,user,select_priv from mysql.db;,用户的创建和删除,1创建新用户 要创建一个新用户guest,并为他设置密码,同时允许它从任何主机 连接到数据库服务器,可按以下步骤进行设置。 以MySQL管理员身份从本地连接到数据库服务器,可使用下面的命令实现。 mysql -u root -p 创建新用户guest,并为他设置密码,同时允许它从任何主机连接到数据库服务器,可使用下面的命令实现。 mysqlinsert into mysql.user (host,user,password) -values (%, guest,password(guest); 此处必须使用password()函数,该函数会为密码加密,这样在表user 的字段password中保存的就是经过加密的密码。 重载MySQL授权表,可使用下面的命令实现。 mysqlflush privileges;,用户的创建和删除,2删除用户 删除用户应使用delete语句。 【例】要删除用户guest,可使用下面的命令。 mysql delete from mysql.user where user=guest; 3更改用户密码 由于MySQL授权表实际上与MySQL常规表没有 什么本质区别,因此也可以用UPDATE语句来修改 其内容,包括修改用户密码。,用户权限的设置,实际上,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中权限字段及可设置的权限。,用户权限的设置,授权表user、db和host中可设置的权限,用户权限的设置,授权表tables_priv和columns_priv中权限字段和可设置的权限,用户权限的设置,1使用GRANT语句授权 GRANT语句的基本格式如下: GRANT 权限列表(字段列表) ON 数据库名称.表名称 TO 用户名域名或IP地址 IDENTIFIED BY 密码值WITH GRANT OPTION;,设置“域名或IP地址”的几种常见情况,用户权限的设置,(2)授予用户不同级别的访问权限 例如,要新建一个用户tom,让他 能从子网中任何主机连 接到数据库服务器,可以读取数据库 xsxk的内容,并且能修改表course中 字段techer的值,可使用下面的命令。 mysqlgrant select on xsxk.* to tom192.168.16.% identified by 123456; mysqlgrant update(teacher) on xsxk.course to tom192.168.16.% ;,使用GRANT语句设置权限运用级别的示例,(3)授予用户管理权限的权利 例如,MySQL管理员要授予用户admin可以从本地连接到数据 库服务器,对学生选课数据库xsxk具有完全访问权限,并可将其 所拥有的权限授予其他用户,可使用下面的命令。 mysqlgrant all on xsxk.* to adminlocalhost identified by sW56$Azx - with grant option; 2使用REVOKE语句撤权 REVOKE语句的基本格式如下: REVOKE 权限列表(字段列表) ON 数据库名称.表名称 FROM 用户名域名或IP地址,12.4MySQL的图形化配置,目前,架设动态Web站点比较流行的是采用Linux上的 Apache+MySQL+PHP(简称LAMP)组合方案,即用Apach作 Web服务器,MySQL充当后台管理数据库,用PHP开发Web程序。 采用这种组合方案来开发和架设Web站点,具有免版权费、系统 效率高、灵活、可扩展、稳定和高度安全等优点,只是在站点的 架设、升级与维护上有一定的难度。MySQL标准发行版本没有提 供图形界面管理工具,因此使用起来有些困难。为了解决这个问 题,Tobias Ratschiller开发了一套用于管理MySQL数据库的开放 源代码的工具phpMyAdmin(如图12-48所示为phpMyAdmin 的官方网站)。在经过众多爱好者的共同修改与再开发后,目前 使用phpMyAdmin已经可以很方便地完成大部分MySQL数据库管 理员需要完成的工作 。,12.5安装phpMyAdmin,配置phpMyAdmin 配置phpMyAdmin虚拟目录 使用phpMyAdmin,12.5安装phpMyAdmin,phpMyAdmin是用PHP编制的一种B/S(浏览器/服务器)结构的“软件”,与 其说是软件,还不如说是一些放在服务器端的通过浏览器界面管理的页面程序 文件,因此安装phpMyAdmin实际上就是将它解压到一个允许执行PHP的目录 下。安装的具体步骤如下。 从 将tar文件解压缩到/root,可执行下面的命令。 tar xvzf phpMyAdmin-2.10.3-all-languages.tar.gz 该命令执行后,将在/root目录下生成一个子目录phpMyAdmin-2.10.3-all-languages。 为了便于测试,将子目录phpMyAdmin-2.10.3-all-languages移动到默认Apache Web站点的主目录/var/www/html下,并改名为phpMyAdmin,可使用下面的命令。 mv phpMyAdmin-2.10.3-all-languages /var/www/html/phpMyAdmin,配置phpMyAdmin,将phpMyAdmin安装到系统中后,还需要 进行一定的配置才能正常使用。配置 phpMyAdmin,实际上是通过修改配置文件 config.inc.php实现的,该文件位于刚建立的 目录/var/www/html/phpMyAdmin中。,配置phpMyAdmin, $cfgPmaAbsoluteUri = ; $i = 0; $i+; $cfgServers$ihost = localhost; $cfgServers$iport = ; $cfgServers$isocket = ; $cfgServers$iconnect_type = tcp; $cfgServers$iextension = mysql; $cfgServers$icompress = FALSE; $cfgServers$icontroluser = ; $cfgServers$icontrolpass = ; $cfgServers$iauth_type = config; $cfgServers$iuser = root; $cfgServers$ipassword = ilGHW56p; $cfgServers$ionly_db = ; ,配置phpMyAdmin,完成了上述设置后,要测试phpMyAdmin 能否正常工作,可在本地浏览器的地址栏中 输入“http:/localhost/phpMyAdmin”。如果配 置无误的话,则能看到phpMyAdmin管理界 面 。,配置phpMyAdmin虚拟目录, 配置DNS。假设在DNS服务器上已经创建了一个名为“”的主区域,那么可在该区域的配置文件中加入下面的一条CNAME(别名)记录。 mysql IN CNAME . 安装phpMyAdmin。由于前面已经配置了phpMyAdmin,因此此时只需要使用下面的命令将/var/www/html/phpMyAdmin目录移动到/var目录中。 mv /var/www/html/phpMyAdmin /var,配置phpMyAdmin虚拟目录, 配置phpMyAdmin虚拟目录。这是通过修改Apache服务的配置文件/etc/httpd/conf/httpd.conf来实现的。在该配置文件中可加入以下内容。 Alias /pma “/var/phpMyAdmin“ # 为/var/phpMyAdmin创建虚拟目录pma # 以下内容为虚拟目录设置权限 Options FollowSymLinks # 允许服务器在该目录中使用符号链接 AllowOverride None # 禁止使用.htaccess文件 AuthType Basic # 设置认证类型为基本认证 AuthName “Please Login“ # 将在提示对话框中显示“Please Login” AuthUserFile /etc/apachepasswd/userpwd # 指定用来存放用户密码的文件 require user root # 设置能访问该虚拟目录的用户为root require user mysql 建立密码文件并为用户设置密码。使用下面的命令可创建一个新的记录用户名和用户密码的密码文件。 mkdir /etc/apachepasswd cd /etc/apachepasswd htpasswd -c userpwd root,配置phpMyAdmin虚拟目录, 设置允许Apache守护进程httpd访问phpMyAdmin虚拟目录。在Red Hat Enterprise Linux 5中,由于SELinux被默认安装并被开启使用,在默认的SELinux安全配置中,httpd被目标策略所控制,因此为了让用户能够通过网络访问phpMyAdmin虚拟目录,就必须设置允许Apache守护进程httpd访问phpMyAdmin虚拟目录。具体设置方法是,使用下面的命令让httpd可以读取在虚拟目录phpMyAdmin中被标记为httpd_sys_content_t的所有文件。 chcon -R -h -t httpd_sys_content_t /var/phpMyAdmin,配置phpMyAdmin虚拟目录, 在MySQL中创建用户。为了确保MySQL数据库的安全,应为MySQL管理员(root用户)设置密码,该密码可以与刚才创建的用于访问phpMyAdmin虚拟目录的root用户密码相同。这样,在phpMyAdmin的配置文件config.inc.php中,就可以使用config验证方式,并将输入root用户名及其密码,即在config.inc.php文件中可进行下面的设置。 $cfgServers$iauth_type = config; $cfgServers$iu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年精益生产经理岗位招聘面试参考题库及参考答案
- 2025年顶级销售顾问岗位招聘面试参考试题及参考答案
- 2025年内容策略师岗位招聘面试参考试题及参考答案
- 2025年旅游专员岗位招聘面试参考试题及参考答案
- 2025年游戏开发员岗位招聘面试参考试题及参考答案
- 酒店管理期末试题及答案
- 2025年贝壳合规的考试题及答案
- 2025年对外关系专员岗位招聘面试参考试题及参考答案
- 2025年医疗健康管理者岗位招聘面试参考题库及参考答案
- 风险动态评估方法-第21篇-洞察与解读
- 嵊州嘉洋纺织有限公司面料技术改造项目环境影响报告
- 110kv各类型变压器的计算单
- 华友岗位职级图
- 《商务礼仪与沟通》项目十
- (完整版)完整三角函数公式表
- 了不起的我课件完整版
- 三菱HOPE电梯的故障码
- 抖音企业号操作文档最新版
- YC/T 145.2-2012烟用香精相对密度的测定
- GB/T 5709-1997纺织品非织造布术语
- GB/T 16823.3-2010紧固件扭矩-夹紧力试验
评论
0/150
提交评论