MySQL数据库入门(不提供光盘内容)(txt+pdf+epub+mobi电子书下载)

作者:传智播客高教产品研发部

出版社:清华大学出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

MySQL数据库入门(不提供光盘内容)

MySQL数据库入门(不提供光盘内容)试读:

前言

Foreword为什么出这本书

数年前,传智播客团队是一群默默工作在IT岗位的程序员,现如今,为了同一个梦想,我们聚集在一起,为“改变中国的IT教育”而全力以赴。为什么会有这样的梦想?大家先来听一听IT毕业生的心声:“我们专业的课程太枯燥了,太多理论方面的课程,并且这些理论听起来都是很难理解的,同学们学完了都是一头雾水。”“终于毕业了,学了四年的计算机课程,我们班上大部分同学都不知道能干什么,感觉好像什么都学了,但却什么都不会干!”“实习单位根本就不让我们干活,最多只是让我们阅读代码、修改文档,说我们什么都不会,不敢让我们参与实际工作。想想自己辛苦学了四年连实习的要求都达不到,心里很不是滋味。”“面试的时候,用人单位问能做什么,做过什么项目,我们回答不上来,面试过程中问到的很多问题,我们连听都没有听过。”

……

这些心声并不是个别毕业生所表达的,而是中国高校反映出的一种普遍现象。高校的IT教育与企业的真实需求存在脱节,如果高校的相关课程仍然不进行更新的话,毕业生将继续面临难以就业的困境。出现这样的困境的主要原因在于教材更新速度缓慢,导致学生所学的知识与现在的社会需求不符,无法向学生传授企业需要的专业技能。面对高校所存在的问题,国务院近期也提出了提高高等教育质量的改革要求,很庆幸,我们所做的事情就是配合高校完成教学改革。

传智播客作为一家专业的IT培训机构,一直将“改变中国的IT教育”作为自己的事业,并为此拼搏了9年。在这9年期间,传智播客默默耕耘,陆续出版了计算机书籍十几本、教学视频几十套、发表各类技术文章几百篇,直接培养的软件工程师就有10万多名,被传智播客影响的在校学生更是多达数百万人。毫不夸张地说,传智播客已经为IT学子开辟了一条全新的求知之路。

9年的沉淀让传智播客拥有了目前国内最好的IT培训课程。如今,传智播客决定把这套精品课程全部公开,印刷成书并输送至高校,解决眼下高校最亟待解决的课程陈旧问题。另外,面向高校计算机专业的老师,传智播客还将提供免费的培训服务,让高校老师可以通过培训提高授课技能,将最专业、最实用的技能传授给学生。为了让广大师生在学习传智播客课程的同时能达到最好的效果,公司投入巨额资金,用于为高校师生提供以下学习配套资源与服务。(1)本书光荣落户在在线学习网站“博学谷”:http://www.boxuegu.com。全宇宙的人都知道:“学习IT的人都在博学谷”,难道您真不知道?(2)在学习本书过程中,遇到任何问题,请找问答精灵,我们承诺工作时间3小时内解答您的问题。问答精灵的官方网址为:http://ask.boxuegu.com。读者可以通过扫描下面的二维码,下载问答精灵移动客户端或关注问答精灵微信公众平台。学习IT有问题就找问答精灵。问答精灵移动客户端问答精灵微信公众平台(3)我们为本书录制了全程教学视频,通过学习视频用户可以更容易理解本书的知识,视频下载网址:http://dvd.boxuegu.com/mysql。(4)心中有疑问,想找老师面对面解惑?每周六晚上8点到10点,“面对面”讲堂,我们与您不见不散,网络公开课网址:http://openclass.boxuegu.com。(5)学习需要氛围,在校园快点组织起您的学习社团吧,只要申请通过,我们将给予社团各种支持,包括:免费提供教材、视频教程、技术参考资料、技术面试资料、技术讲座、实习岗位等支持,优秀社团还可获得我们每学期2000元的现金奖励。

学习社团网址:http://club.boxuegu.com。高校老师俱乐部(6)针对高校教学,传智播客用近9年的教育培训经验,精心设计了“教材+教案+授课资源+考试系统+题库+教学辅助案例”一站式IT就业培训系列教程,方便老师进行教学,能够有效提高老师日常教学的效率。如需索要配套教学资源,请关注博学谷高校老师俱乐部,扫描右侧二维码,关注微信公众平台。

希望通过我们的努力,在不久的将来,高校能够真正培养出符合企业所需的实用型人才,IT学子们不再为就业而迷惘!关于本教材

作为一种技术的入门教程,最重要也最难的一件事情就是要将一些非常复杂、难以理解的思想和问题简单化,让初学者能够轻松理解并快速掌握。本教材对每个知识点都进行了深入的分析,并针对每个知识点精心设计了相关案例,然后模拟这些知识点在实际工作中的运用,真正做到了知识的由浅入深、由易到难。为确保教材通俗易懂,在教材编写的过程中,我们还让600多名初学者参与到了教材试读中,对初学者反馈上来的难懂的地方均作了一一修改。

本教材共分为8章,接下来分别对每章进行简单的介绍,具体如下:● 第1章主要介绍了数据库的相关知识,包括创建的数据库产品、

数据库存储结构、MySQL的安装配置与使用等。通过本章的学

习,要求初学者对数据库有一个大致的认识,并且可以独立完成

MySQL数据库的安装和配置。● 第2~5章讲解了MySQL数据库的常见操作,包括数据库和数据

表的增删改查操作,这些操作都是通过SQL语句实现的,要求初

学者多动手书写SQL语句,熟练掌握数据的增删改查操作。● 第6~7章讲解了数据库中的事务、存储过程以及视图,这些内

容可以对MySQL数据库进行性能优化,希望初学者可以循序渐

进掌握MySQL中的各项技术。● 第8章讲解了MySQL数据库的高级操作,包括数据的备份还原、

用户管理和权限管理,要求初学者会对数据进行备份还原,并且

可以通过权限控制管理不同的用户。

在上面所提到的8个章节中,第2~5章主要针对MySQL数据库的SQL语句进行详细讲解,这些SQL语句是MySQL开发的核心,要求初学者多动手练习,熟练掌握操作数据库的SQL语句。

另外,如果读者在理解知识点的过程中遇到困难,建议不要纠结于某个地方,可以先往后学习,通常来讲,看到后面对知识点的讲解或者其他小节的内容后,前面看不懂的知识点一般就能理解了,如果读者在动手练习的过程中遇到问题,建议多思考,理清思路,认真分析问题发生的原因,并在问题解决后多总结。致谢

本教材的编写和整理工作由传智播客教育科技有限公司高教产品研发部完成,主要参与人员有徐文海、高美云、陈欢、马丹、黄云,孙洪乔研发小组全体成员在这近一年的编写过程中付出了很多辛勤的汗水。另外,传智播客讲师杜宏、朴乾、李若亮、刘洋、王昭廷、任亮、梁桐、刘亚超、陈子枢、赵庆轩、焦宁波、赵栋、张泽华、李印东、曹睿、杨光福、朱武、姜涛、金云龙等人也参与了教材的修订工作,除此之外,还有传智播客600多名学员也参与到了教材的试读工作中,他们站在初学者的角度对教材提供了许多宝贵的修改意见,在此一并表示衷心的感谢。意见反馈

尽管我们尽了最大的努力,但教材中难免会有不妥之处,欢迎各界专家和读者朋友们给予宝贵意见,我们将不胜感激。您在阅读本书时,如发现任何问题或有不认同之处,可以通过电子邮件(itcast_book@vip.sina.com)与我们取得联系。传智播客教育科技有限公司 高教产品研发部2014-11-24于北京第1章数据库入门学习目标

了解数据库基本知识,可以描述数据库的存储结构和常见的数据库产品

了解MySQL的安装与配置,学会在Windows和Linux平台上安装MySQL

掌握MySQL的启动、登录以及配置方式

数据库技术是计算机应用领域中非常重要的技术,它产生于20世纪60年代末,是数据管理的最新技术,也是软件技术的一个重要分支。本章重点讲解数据库的基础知识以及MySQL的安装与使用。1.1 数据库基础知识1.1.1 数据库概述

数据库(Database,DB)是按照数据结构来组织、存储和管理数据的仓库,其本身可看作电子化的文件柜,用户可以对文件中的数据进行增加、删除、修改、查找等操作。需要注意的是,这里所说的数据(Data)不仅包括普通意义上的数字,还包括文字、图像、声音等,也就是说,凡是在计算机中用来描述事物的记录都可称作数据。下面介绍数据库的基本特点。

1.数据结构化

数据库系统实现了整体数据的结构化,这是数据库的最主要的特征之一。这里所说的“整体”结构化,是指在数据库中的数据不只是针对某个应用,而是面向全组织,面向整体的。

2.实现数据共享

因为数据是面向整体的,所以数据可以被多个用户、多个应用程序共享使用,可以大幅度地减少数据冗余,节约存储空间,避免数据之间的不相容性与不一致性。

3.数据独立性高

数据的独立性包含逻辑独立性和物理独立性,其中,逻辑独立性是指数据库中数据的逻辑结构和应用程序相互独立,物理独立性是指数据物理结构的变化不影响数据的逻辑结构。

4.数据统一管理与控制

数据的统一控制包含安全控制、完整控制和并发控制。简单来说就是防止数据丢失、确保数据的正确有效,并且在同一时间内,允许用户对数据进行多路存取,防止用户之间的异常交互。图1-1 数据库系统

大多数初学者认为数据库就是数据库系统(DataBase System,DBS)。其实,数据库系统的范围比数据库大很多。数据库系统是由硬件和软件组成的,其中硬件主要用于存储数据库中的数据,包括计算机、存储设备等。软件主要包括操作系统以及应用程序等。为了让读者更好地理解数据库系统,下面通过一张图来描述数据库系统,如图1-1所示。

图1-1描述了数据库系统的几个重要部分,如数据库、数据库管理系统、数据库应用程序等,具体解释如下。

1.数据库

数据库提供了一个存储空间用来存储各种数据,可以将数据库视为一个存储数据的容器。

2.数据库管理系统

专门用于创建和管理数据库的一套软件,介于应用程序和操作系统之间,如MySQL、Oracle、SQL Server、DB2等。数据库管理系统不仅具有最基本的数据管理功能,还能保证数据的完整性、安全性和可靠性。

3.数据库应用程序

虽然已经有了数据库管理系统,但在很多情况下,数据库管理系统无法满足用户对数据库的管理。此时,就需要使用数据库应用程序与数据库管理系统进行通信、访问和管理DBMS中存储的数据。1.1.2 数据库存储结构

通过前面的讲解可知,数据库是存储和管理数据的仓库,但数据库并不能直接存储数据,数据是存储在表中的,在存储数据的过程中一定会用到数据库服务器,所谓的数据库服务器就是指在计算机上安装一个数据库管理程序,如MySQL。数据库、表、数据库服务器之间的关系,如图1-2所示。图1-2 数据库服务器、数据库、表关系图

从图1-2可以看出,一个数据库服务器可以管理多个数据库,通常情况下开发人员会针对每个应用创建一个数据库,为保存应用中实体的数据,会在数据库中创建多个表(用于存储和描述数据的逻辑结构),每个表都记录着实体的相关信息。

对于初学者来说,一定很难理解应用中的实体数据是如何存储在表中的,接下来通过一个图例来描述,如图1-3所示。图1-3 表中的数据

图1-3描述了User表的结构以及数据的存储方式,表的横向被称为行,纵向被称为列,每一行的内容被称为一条记录,每一列的列名被称为字段,如id、name等。通过观察该表可以发现,User表中的每一条记录,如1 lisi 23,实际上就是一个User对象。1.1.3 SQL语言

SQL(Structured Query Language,结构化查询语言)是一种数据库查询语言和程序设计语言,主要用于管理数据库中的数据,如存取数据、查询数据、更新数据等。SQL是IBM公司于1975—1979年之间开发出来的,在20世纪80年代,SQL被美国国家标准学会(American National Standards Institute,ANSI)和国际标准化组织(International Organization for Standardization,ISO)定义为关系型数据库语言的标准,它由4部分组成,具体如下。(1)数据定义语言(Data Definition Language,DDL)。

数据库定义语言主要用于定义数据库、表等,其中包括CREATE语句、ALTER语句和DROP语句。CREATE语句用于创建数据库、数据表等,ALTER语句用于修改表的定义等,DROP语句用于删除数据库、删除表等。(2)数据操作语言(Data Manipulation Language,DML)。

数据操作语言主要用于对数据库进行添加、修改和删除操作,其中包括INSERT语句、UPDATE语句和DELETE语句。INSERT语句用于插入数据,UPDATE语句用于修改数据,DELETE语句用于删除数据。(3)数据查询语言(Data Query Language,DQL)。

数据查询语言主要用于查询数据,也就是指SELECT语句,使用SELECT语句可以查询数据库中的一条数据或多条数据。(4)数据控制语言(Data Control Language,DCL)。

数据控制语言主要用于控制用户的访问权限,其中包括GRANT语句、REVOKE语句、COMMIT语句和ROLLBACK语句。GRANT语句用于给用户增加权限,REVOKE语句用于收回用户的权限,COMMIT语句用于提交事务,ROLLBACK语句用于回滚事务。

数据库中的操作都是通过SQL语句来完成的,而且在应用程序中也经常使用SQL语句,例如在Java语言中嵌入SQL语句,通过执行Java语言来调用SQL语句,就可以完成数据的插入、修改、删除、查询等操作。不仅如此,SQL语句还可以嵌套在其他语言中,如C#语言、PHP语言等。1.1.4 常见的数据库产品

随着数据库技术的发展,数据库产品越来越多,如Oracle、DB2、MongoDB、SQL Server、MySQL等。

1.Oracle数据库

Oracle数据库管理系统是由甲骨文(Oracle)公司开发的,在数据库领域一直处于领先地位。目前,Oracle数据库覆盖了大、中、小型计算机等几十种计算机型,成为世界上使用最广泛的关系型数据管理系统(由二维表及其之间的关系组成的一个数据库)之一。

Oracle数据库管理系统采用标准的SQL,并经过美国国家标准技术所(NIST)测试。与IBM SQL/DS、DB2、INGRES、IDMS/R等兼容,而且它可以在VMS、DOS、UNIX、Windows等操作系统下工作。不仅如此,Oracle数据库管理系统还具有良好的兼容性、可移植性和可连接性。

2.SQL Server数据库

SQL Server是由微软公司开发的一种关系型据库管理系统,它已广泛用于电子商务、银行、保险、电力等行业。

SQL Server提供了对XML和Internet标准的支持,具有强大的、灵活的、基于Web的应用程序管理功能。而且界面友好、易于操作,深受广大用户的喜爱,但它只能在Windows平台上运行,并对操作系统的稳定性要求较高,因此很难处理日益增长的用户数量。

3.DB2数据库

DB2数据库是由IBM公司研制的一种关系型数据库管理系统,主要应用于OS/2、Windows等平台下,具有较好的可伸缩性,可支持从大型计算机到单用户环境。

DB2支持标准的SQL,并且提供了高层次的数据利用性、完整性、安全性和可恢复性,以及从小规模到大规模应用程序的执行能力,适合于海量数据的存储,但相对于其他数据库管理系统而言,DB2的操作比较复杂。

4.MongoDB数据库

MongoDB是由10gen公司开发的一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似JSON的bjson格式,因此可以存储比较复杂的数据类型。

Mongo数据库管理系统最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。不仅如此,它还是一个开源数据库,并且具有高性能、易部署、易使用、存储数据非常方便等特点。对于大数据量、高并发、弱事务的互联网应用,MongoDB完全可以满足Web 2.0和移动互联网的数据存储需求。

5.MySQL数据库

MySQL数据库管理系统是由瑞典的MySQL AB公司开发的,但是几经辗转,现在是Oracle产品。它是以“客户/服务器”模式实现的,是一个多用户、多线程的小型数据库服务器。而且MySQL是开源数据的,任何人都可以获得该数据库的源代码并修正MySQL的缺陷。

MySQL具有跨平台的特性,它不仅可以在Windows平台上使用,还可以在UNIX、Linux和Mac OS等平台上使用。相对其他数据库而言,MySQL的使用更加方便、快捷,而且MySQL是免费的,运营成本低,因此,越来越多的公司开始使用MySQL。1.2 MySQL安装与配置

MySQL数据库支持多个平台,不同平台下的安装和配置的过程也不相同。本节重点讲解如何在Windows平台和Linux平台下安装和配置MySQL。1.2.1 Windows平台下安装和配置MySQL

基于Windows平台的MySQL安装文件有两个版本,一种是以.msi作为后缀名的二进制分发版,一种是以.zip作为后缀的压缩文件。其中.msi的安装文件提供了图形化的安装向导,按照向导提示进行操作即可完成安装,.zip的压缩文件直接解压就可以完成MySQL的安装。接下来以MySQL 5.5为例,讲解如何使用二进制分发版在Windows平台上安装和配置MySQL。

1.安装MySQL(1)针对不同的操作系统,MySQL提供了多个版本的安装文件,初学者可以到http://dev.mysql.com/downloads/mysql/#downloads网站下载版本为5.5的MySQL安装文件(二进制分发版)。下载完毕后,双击安装文件进行安装。此时,会弹出MySQL安装向导界面,如图1-4所示。图1-4 安装向导界面(2)单击图1-4中的Next按钮进行下一步操作,此时会显示用户许可协议界面,如图1-5所示。图1-5 用户许可协议界面(3)选中图1-5中的I accept the terms in the License Agreement复选框,单击Next按钮进行下一步操作,此时会进入选择安装类型界面,如图1-6所示。图1-6 选择安装类型界面

在图1-6所示的界面中,列出了三种安装类型,关于这三种类型的具体讲解如下所示。

① Typical(典型安装):只安装MySQL服务器、MySQL命令行客户端和命令行使用程序。

② Custom(定制安装):选择想要安装的软件和安装路径。

③ Complete(完全安装):安装软件包内的所有组件。(4)为了熟悉安装过程,可选择定制安装,单击Next按钮进入定制安装界面,如图1-7所示。图1-7 定制安装界面

默认情况下,MySQL的安装目录为“C:\Program Files\MySQL\MySQL Server 5.5”,这里使用的是默认的安装目录。如果想要更改MySQL的安装目录可以单击右侧的Browse按钮。

图1-7中所有组件的安装目录也是可以更改的,只需单击组件右侧的下拉列表并从中选择新的选项即可,如图1-8所示。图1-8 更改组件

图1-8中,MySQL Server组件的下拉列表中有4个选项,可以根据具体情况进行选择,这里不对这些组件的安装目录进行修改,直接使用默认的设置。(5)直接单击图1-7中的Next按钮,进入准备安装界面,如图1-9所示。图1-9 准备安装界面(6)单击图1-9中的Install按钮,开始安装MySQL。此时可以看到安装的进度,当MySQL安装完成后就会显示MySQL简介,如图1-10所示。图1-10 MySQL介绍(7)在图1-10中,如果单击左下角的More按钮,就会在浏览器中打开一个介绍MySQL相关知识的页面,如果单击Next按钮,就会进入下一个介绍页面,如图1-11所示。图1-11 MySQL介绍(8)单击图1-11中的Next按钮,此时会显示MySQL的安装完成界面,如图1-12所示。图1-12 安装完成界面

至此,便完成了MySQL的安装。需要注意的是,图1-12界面中的Launch the MySQL Instance Configuration Wizard复选框用于开启MySQL配置向导,如果此时选中该复选框,然后单击Finish按钮,就会进入MySQL配置向导界面,开始配置MySQL。

2.配置MySQL(1)MySQL安装完成后,还需要进行配置。可以在MySQL安装目录下的bin目录中双击MySQLInstanceConfig.exe文件启动配置向导,也可以选中图1-12中的Launch the MySQL Instance Configuration Wizard复选框,单击Finish按钮来启动配置向导,如图1-13所示。图1-13 配置向导介绍(2)单击图1-13中的Next按钮,进入选择配置类型界面,如图1-14所示。图1-14 选择配置类型

如图1-14所示的界面,有两种配置类型可以选择,关于这两种配置类型的具体讲解如下所示。

① Detailed Configuration(详细配置):该选项适合想要详细配置服务器的高级用户。

② Standard Configuration(标准配置):该选项适合想要快速启动MySQL而不必考虑服务器配置的用户。(3)为了更好地学习MySQL配置过程,在此选择Detailed Configuration选项。单击Next按钮,进入服务器类型界面,在该界面中可以选择三种服务器类型,选择哪种服务器类型将直接影响到MySQL Configuration Wizard(配置向导)对内存、硬盘和过程或使用的决策,如图1-15所示。图1-15 服务器类型

在图1-15中,有三个服务器类型选项,关于这三个选项的具体讲解如下所示。

① Developer Machine(开发者类型):该类型消耗的内存资源最少,主要适用于软件开发者,而且也是默认选项,建议一般用户选择该项。

② Server Machine(服务器类型):该类型占用的内存资源稍多一些,主要用作服务器的机器可以选择该项。

③ Dedicated MySQL Server Machine(专用MySQL服务器):该类型占用所有的可用资源,消耗内存最大。专门用来作数据库服务器的机器可以选择该项。(4)由于我们使用MySQL进行软件开发工作,因此选择Developer Machine选项。单击图1-15中的Next按钮进入数据库用途界面,如图1-16所示。图1-16 数据库用途界面

① Multifunctional Database(多功能数据库):该选项同时使用InnoDB和MyISAM储存引擎,并在两个引擎之间平均分配资源。建议经常使用两个储存引擎的用户选择该选项。

② Transactional Database Only(事务处理数据库):该选项同时使用InnoDB和MyISAM 储存引擎,但是将大多数服务器资源指派给InnoDB储存引擎。建议主要使用InnoDB只偶尔使用MyISAM的用户选择该选项。

③ Non-Transactional Database Only(非事务处理数据库):该选项完全禁用InnoDB储存引擎,将所有服务器资源指派给MyISAM储存引擎。建议不使用InnoDB的用户选择该选项。(5)选择Multifunctional Database数据库,单击图1-16中的“Next”按钮进入InnoDB表空间配置界面,如图1-17所示。图1-17 表空间设置界面

在图1-17中可以对InnoDB Tablespace进行配置,简单来说就是为InnoDB数据库文件选择一个存储空间。需要注意的是,如果修改了存储空间,重装数据库的时候要选择相同的位置,否则可能会造成数据库损坏。(6)在此选择默认位置就可以,直接单击“Next”按钮,进入设置服务器最大并发连接数量(也就是同时访问MySQL的最大数量)界面,如图1-18所示。图1-18 并发连接数量设置

图1-18中提供了三个选项用于设置服务器最大并发连接量,关于这三个选项的具体讲解如下所示。

① Decision Support(DSS)/OLAP(决策支持):如果服务器不需要大量的并发连接可以选择该选项。假设最大连接数目设置为100,则平均并发连接数为20。

② Online Transaction Processing(OLTP)(联机事务处理):如果服务器需要大量的并发连接则选择该选项,最大连接数设置为500。

③ Manual Setting(人工设置):该选项可以手动设置服务器并发连接的最大数目,默认连接数量为15。(7)在此选择Manual Setting选项,并使用默认连接数量15,单击Next按钮进入设置网络界面,如图1-19所示。图1-19 网络设置

从图1-19中可以看出,MySQL默认情况下启动TCP/IP网络,端口号为3306,如果不想使用这个端口号,也可以通过下拉列表框更改,但必须保证端口号没被占用。Add firewall exception for this port复选框用来在防火墙上注册这个端口号,在这里选择该选项。Enable Strict Mode复选框用来启动MySQL标准模式,这样MySQL就会对输入的数据进行严格的检查,不允许出现微小的语法错误,对于初学者来说不建议选择该项,以免带来麻烦。(8)单击图1-19中的Next按钮,进入设置MySQL默认字符集编码界面,如图1-20所示。图1-20 设置默认字符集编码

在图1-20中,有三个设置字符集编码的选项,关于这三个选项的具体讲解如下所示。

① Standard Character Set(标准字符集):该选项是一个默认的字符集,支持英文和许多西欧语言,默认值为Latin1。

② Best Support For Multilingualism(支持多种语言):该选项支持大部分语言的字符集,默认字符集为UTF8。

③ Manual Selected Default Character Set/Collation(人工选择的默认字符集/校对规则):该选项主要用于手动设置字符集,可以通过下列菜单选择字符集编码,其中包含GBK、GB2312、UTF8等。(9)选择Manual Selected Default Character Set/Collation选项,并在该选项中将字符集编码设置为utf8,单击Next按钮进入设置Windows选项界面,这一步会将MySQL安装为Windows服务,并且可以设置服务名称,如图1-21所示。图1-21 设置Windows服务

在如图1-21所示的界面中提供了多个选项,关于这些选项的具体讲解如下所示。

① Install As Windows Service复选框:可以将MySQL安装为Windows服务。

② Service Name下拉列表:可以选择服务名称,也可以自己输入。

③ Launch the MySQL Server Automatically复选框:可以让Windows启动之后MySQL也自动启动。

④ Include Bin Directory in Windows PATH复选框:可以将MySQL的bin目录添加到环境变量PATH中,这样在命令行窗口中,就可以直接使用bin目录下的文件。(10)在此,将所有的选项全部选中,单击Next按钮进入安全设置界面,如图1-22所示。图1-22 安全设置界面

图1-22的安全设置界面中,同样提供了多个选项,关于这些选项的具体讲解如下所示。

① Modify Security Settings复选框:用来询问是否要修改root用户的密码(默认为空)。

② New root password和Confirm选项:用来输入新密码并且确认新的密码,在此将root用户的密码设置为itcast。

③ Enable root access from remote machines复选框:是否允许root用户在其他机器上登录,如果考虑安全性,就不要选择该项,如果考虑方便性,就选择该项。

④ Create An Anonymous Account复选框:用来新建一个匿名用户,匿名用户可以连接数据库,但不能操作数据。创建匿名用户会降低服务器的安全,因此建议不要选择该项。(11)安全设置完成后,单击图1-22中的Next按钮,进入准备执行配置界面,如图1-23所示。图1-23 准备执行界面(12)如果对上述设置确认无误,就可以单击图1-23中的Execute按钮,让MySQL配置向导执行一系列任务进行配置,配置完成后,则会显示相关的概要信息,如图1-24所示。图1-24 配置完成

单击图1-24中的Finish按钮完成MySQL的配置并退出MySQL Configuration Wizard(配置向导)。

需要注意的是,如果要卸载MySQL,应尽量使用工具软件,如360电脑管家、金山电脑管家等,在卸载完MySQL后直接进行垃圾清理,清理注册表,否则下次安装MySQL可能失败,因为MySQL在卸载的过程中,不能自动删除相关的安装信息。1.2.2 Linux平台下安装MySQL

Linux操作系统有多个版本,如Ubuntu、CentOS、Red Hat等,其中Ubuntu 比较适合个人使用,类似于Windows系统,CentOS、Red Hat都是用于服务器,并且CentOS是基于Red Hat再编译的,这两个版本都很稳定,但由于Red Hat的技术支持和更新都是收费的,因此,本节以CentOS版本为例来讲解如何在Linux平台下安装MySQL。

基于Linux平台的MySQL安装文件有三个版本,分别是RPM软件包、Generic Binaries软件包、源码包,具体介绍如下。(1)RPM软件包是一种Linux平台下的安装文件,通过相关命令可以很方便地安装与卸载。该软件包分为两个:服务器端和客户端,需要分别下载和安装。在安装时首先需要安装服务器端,然后再安装客户端。(2)Generic Binariesr软件包是一个二进制软件包,经过编译生成二进制文件的软件包。(3)源码包是MySQL数据库的源代码,用户需要自己编译生成二进制文件后才能安装。

MySQL官方推荐在Linux平台下使用RPM软件包安装MySQL,接下来就演示一下如何使用RPM软件包来安装MySQL。

1.下载RPM安装包

首先到MySQL的官方网站http://dev.mysql.com/downloads/mysql/5.5.html#downloads,下载RPM安装包,RPM安装包分为MySQL服务端和客户端,本教材使用的RPM软件包的版本为:MySQL-server-5.5.31-2.el6.i686.rpmMySQL-client-5.5.31-2.el6.i686.rpm

2.检查是否安装过MySQL

在安装之前,首先要检查当前系统是否已经安装了MySQL,否则在安装时可能产生冲突。具体的查看命令如下所示:rpm -qa | grep mysql

上述命令中的“rpm”是一个功能强大的包管理命令,它可以建立、安装、请求、确认和卸载软件包。-qa命令用于列出查找的相应文件,它和| grep mysql组合在一起就是用于显示所有名称中包含mysql字符的rpm包。

执行完上述命令后,如果出现MySQL的相关信息,例如mysql-libs-5.1.66-2.el6_3.i686就说明当前系统已经安装了MySQL,此时,如果希望卸载该版本的MySQL,可以使用以下命令:rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps

上述命令中的-e表示卸载,“mysql-libs-5.1.66-2.el6_3.i686”表示要卸载的文件,nodeps表示忽略所有的依赖关系,进行强制卸载。

3.安装MySQL服务端和客户端

接下来将MySQL安装包放在Linux系统的Downloads目录下,然后进入Downloads目录,在该目录中安装MySQL服务端,具体命令如下:rpm -ivh MySQL-server-5.5.31-2.el6.i686.rpm

上述命令中,–ivh命令的i表示将安装指定的RMP软件包,v表示安装时的详细信息,h表示在安装期间出现“#”符号来显示当前的安装过程,MySQL-server-5.5.31-2.el6.i686.rpm就是安装的MySQL软件包。

MySQL的服务端安装成功后,接下来还需安装MySQL的客户端。在安装客户端时需要输入如下命令:rpm -ivh MySQL-client-5.5.31-2.el6.i686.rpm

上述命令执行成功后,MySQL客户端就安装完成了。

4.启动MySQL服务

MySQL安装完成后,要想使用MySQL服务端,还需要启动MySQL服务,具体命令如下:service mysql start

上述命令用于开启MySQL服务,值得一提的是,MySQL的服务命令实际上有4个参数,这4个参数分别代表不同的意义,具体如下。(1)start:启动服务。(2)stop:停止服务。(3)restart:重启服务。(4)status:查看服务状态。

5.操作MySQL

1)设置MySQL登录密码

MySQL刚安装完成是没有密码的,为了操作安全需要给root用户设置一个登录密码,具体命令如下:mysql_secure_installation

上述命令执行成功后,会出现如下信息:[root@localhost Downloads]# mysql_secure_installationNOTE:RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!In order to log into MySQL to secure it, we'll need the currentpassword for the root user. If you've just installed MySQL, andyou haven't set the root password yet, the password will be blank,so you should just press enter here.Enter current password for root (enter for none):

上述信息中最后一行提示输入root用户的密码,在此输入itcast作为root用户的密码。需要注意的是,输入的密码在命令窗口中并不显示,因此一定要小心不要输错。

2)登录MySQL

以上步骤全部完成后,可以通过刚才设置的密码登录MySQL数据库,具体命令如下:mysql -uroot -pitcast

上述命令中的-u后面用于输入用户名,-p后面用于输入用户的登录密码。该命令的执行结果如下:[root@localhost Downloads]# mysql -uroot -pitcastWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 7Server version: 5.5.31 MySQL Community Server (GPL)Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>

从上述信息可以看出,已经登录成功,此时就可以对MySQL数据库进行操作了。接下来测试一下是否可以操作数据库,输入“show databases”命令查询MySQL数据库,显示的信息如下:mysql>show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema|| test |+--------------------+4 rows in set (0.00 sec)

从上述信息可以看出,使用SQL语句可以操作数据库了,并且可以看到MySQL自带了4个数据库。1.3 MySQL目录结构

MySQL安装完成后,会在磁盘上生成一个目录,该目录被称为MySQL的安装目录。在MySQL的安装目录中包含启动文件、配置文件、数据库文件和命令文件等,具体如图1-25所示。图1-25 MySQL安装目录

为了让初学者更好地学习MySQL,下面对MySQL的安装目录进行详细讲解。(1)bin目录:用于放置一些可执行文件,如mysql.exe、mysqld.exe、mysqlshow.exe等。(2)data目录:用于放置一些日志文件以及数据库。(3)include目录:用于放置一些头文件,如mysql.h、mysqld_ername.h等。(4)lib目录:用于放置一系列的库文件。(5)share目录:用于存放字符集、语言等信息。(6)my.ini:是MySQL数据库中使用的配置文件。(7)my-huge.ini:适合超大型数据库的配置文件。(8)my-large.ini:适合大型数据库的配置文件。(9)my-medium.ini:适合中型数据库的配置文件。(10)my-small.ini:适合小型数据库的配置文件。(11)my-template.ini:是配置文件的模板,MySQL配置向导将该配置文件中选择项写入到my.ini文件。(12)my-innodb-heavy-4G.ini:表示该配置文件只对于InnoDB存储引擎有效,而且服务器的内存不能小于4GB。

需要注意的是,在上述7个配置文件中,my.ini是MySQL正在使用的配置文件,该文件是一定会被读取的,其他的配置文件都是适合不同数据库的配置文件的模板,会在某些特殊情况下被读取,如果没有特殊需求,只需配置my.ini文件即可。1.4 MySQL的使用1.4.1 启动MySQL服务

MySQL安装完成后,需要启动服务进程,否则客户端无法连接数据库。在前面的配置过程中,已经将MySQL安装为Windows服务,当Windows启动时MySQL服务也会随着启动,然而有时需要手动控制MySQL服务的启动与停止,此时可以通过两种方式来实现。

1.通过Windows服务管理器启动MySQL服务

通过Windows的服务管理器可以查看MySQL服务是否开启,首先单击“开始”菜单,在弹出的菜单中选择“运行”命令,打开“运行”对话框输入services.msc命令,单击“确定”按钮,此时就会打开Windows的服务管理器,如图1-26所示。图1-26 Windows服务管理器

从图1-26可以看出,MySQL服务没有启动,此时可以直接双击MySQL服务项打开属性对话框,通过单击“启动”按钮来修改服务的状态,如图1-27所示。图1-27 MySQL属性对话框

图1-27中有一个启动类型的选项,该选项有三种类型可供选择,具体如下。(1)自动:通常与系统有紧密关联的服务才必须设置为自动,它就会随系统一起启动。(2)手动:服务不会随系统一起启动,直到需要时才会被激活。(3)已禁用:服务将不再启动,即使是在需要它时,也不会被启动,除非修改为上面两种类型。

针对上述三种情况,初学者可以根据实际需求进行选择,在此建议选择“自动”或者“手动”。

2.通过DOS命令启动MySQL服务

启动MySQL服务不仅可以通过Windows服务管理器启动,还可以通过DOS命令来启动。通过DOS命令启动MySQL服务的具体命令如下:net start mysql

执行完上述命令,显示的结果如图1-28所示。图1-28 启动MySQL服务

DOS命令行不仅可以启动MySQL服务,还可以停止MySQL服务,具体命令如下:net stop mysql

执行完上述命令,显示的结果如图1-29所示。图1-29 停止MySQL服务1.4.2 登录MySQL数据库

启动MySQL服务,即可通过客户端登录MySQL数据库。Windows操作系统下登录MySQL数据库的方式有两种,具体如下。

1.使用相关命令登录

登录MySQL数据库可以通过DOS命令完成,具体命令如下:mysql -h hostname -u username -p

在上述命令中,mysql为登录命令,-h后面的参数是服务器的主机地址,由于客户端和服务器在同一台机器上,因此输入localhost或者IP地址127.0.0.1都可以,如果是本地登录可以省略该参数,-u后面的参数是登录数据库的用户名,这里为root,-p后面是登录密码,接下来就在命令行窗口中输入如下命令:mysql -h localhost -u root -p

此时,系统会提示输入密码Enter password,只需输入配置好的密码itcast,验证成功后即可登录到MySQL数据库,登录成功后的界面如图1-30所示。图1-30 登录MySQL数据库

从图1-30可以看出,登录成功了,还可以使用直接在上述命令的-p参数后面添加密码,使用这种方式登录,而且由于是本地登录,还可以省略语句主机名,具体语句如下:mysql -u root -pitcast

重新开启一个命令行窗口,使用上述语句登录MySQL,结果如图1-31所示。图1-31 登录MySQL数据库

2.使用MySQL Command Line Client登录

使用DOS命令登录MySQL相对比较麻烦,而且命令中的参数容易忘记,因此可以通过一种简单的方式来登录MySQL,该方式需要记住MySQL的登录密码。在“开始”菜单中依次选择“程序”→MySQL→MySQL Server 5.5→MySQL 5.5 Command Line Client命令打开MySQL命令行客户端窗口,此时就会提示输入密码,密码输入正确后便可以登录到MySQL数据库,如图1-32所示。图1-32 登录MySQL数据库

从图1-32中可以看出,已经成功登录到MySQL数据库了,显示了MySQL的相关信息。1.4.3 MySQL的相关命令

对于初学者来说,一定不知道如何使用MySQL数据库,因此需要查看MySQL的帮助信息,首先登录到MySQL数据库,然后在命令行窗口中输入“help;”或者\h命令,此时就会显示MySQL的帮助信息,如图1-33所示。图1-33 MySQL相关命令

图1-33中列出了MySQL的所有命令,这些命令既可以使用一个单词来表示,也可以通过“\字母”的方式来表示,为了让初学者更好地掌握MySQL相关命令,接下来,通过一张表列举MySQL中的常用命令,如表1-1所示。表1-1 MySQL相关命令

表1-1中的命令都用于操作MySQL数据库,为了让初学者更好地使用这些命令,接下来以\s、\u命令为例进行演示,具体如下。【例1-1】 使用\s命令查看数据库信息,结果如下:mysql>\s--------------C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe Ver 14.14 Distrib 5.5.27, for Win32 (x86)Connection id: 3Current database:Current user: root@localhostSSL: Not in useUsing delimiter: ;Server version: 5.5.27 MySQL Community Server (GPL)Protocol version: 10Connection: localhost via TCP/IPServer characterset: utf8Db characterset: utf8Client characterset: utf8Conn. characterset: utf8TCP port: 3306Uptime: 42 min 38 secThreads: 1 Questions: 6 Slow queries:0 Opens: 33 Flush tables: 1 Open tables: 0 Queries per second avg: 0.002--------------

从上述信息可以看出,使用\s命令显示了MySQL当前的版本,字符集编码以及端口号等信息。需要注意的是,上述信息中有4个字符集编码,其中Server characterset为数据库服务器的编码、Db characterset为数据库的编码、Client characterset为客户端的编码、Conn.characterset为建立连接使用的编码。【例1-2】 使用\u命令切换数据库,如下所示。

MySQL 5.5自带了4个数据库,如果要操作其中某一个数据库test,首先需要使用\u命令切换到当前数据库,执行结果如下所示:mysql>\u testDatabase changedmysql>

从上述命令的执行结果(Database changed)可以看出,当前操作的数据库被切换为test。1.4.4 重新配置MySQL

在前面的章节中,已经通过配置向导对MySQL进行了相应配置,但在实际应用中某些配置可能不符合需求,就需要对其进行修改。修改MySQL的配置有两种方式,具体如下。

1.通过DOS命令重新配置MySQL

在命令行窗口中配置MySQL是很简单的,接下来就演示如何修改MySQL客户端的字符集编码,首先登录到MySQL数据库,在该窗口中使用如下命令:set character_set_client = gbk

执行完上述命令后,命令行窗口显示的结果如下:mysql>set character_set_client = gbkQuery OK, 0 rows affected (0.00 sec)

上述信息中显示Query OK就说明当前命令执行成功了,此时可以使用\s命令进行查看,如图1-34所示。图1-34 数据库相关信息

从图1-34可以看出,MySQL客户端的编码已经修改为gbk。需要注意的是,这种方式的修改只针对当前窗口有效,如果新开启一个命令行窗口就会重新读取my.ini配置文件,因此只适用于暂时需要改变编码的情况。

2.通过my.ini文件重新配置MySQL

如果想让修改的编码长期有效,就需要在my.ini配置文件中进行配置,首先打开my.ini文件,如图1-35所示。图1-35 my.ini

在图1-35中,可以看到客户端的编码是通过“default-character-set=utf8”语句配置的,如果想要修改客户端的编码,可以直接将该语句中的utf8替换为gbk即可,然后重新开启一个命令行窗口登录MySQL,此时可以看到客户端的编码修改成功了,而且建立数据库连接的编码也被修改为gbk,如图1-36所示。图1-36 数据库相关信息小结

本章主要讲解数据库的基础知识、MySQL的安装与配置以及MySQL的使用。通过本章的学习,希望初学者真正掌握MySQL数据库的基础知识,并且学会在Windows和Linux平台上安装与配置MySQL,为后面章节的学习奠定扎实的基础。测一测

1.请简述数据库、表和数据库服务器之间的关系。

2.简述修改MySQL配置的两种方式。

扫描下方二维码,查看思考题答案。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书

若在网站上没有找合适的书籍,可联系网站客服获取,各类电子版图书资料皆有。

客服微信:xzh432

登入/注册
卧槽~你还有脸回来
没有账号? 忘记密码?