MySQL 5.7从入门到精通(视频教学版)(第2版)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-22 11:31:52

点击下载

作者:张工厂

出版社:清华大学出版社

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

MySQL 5.7从入门到精通(视频教学版)(第2版)

MySQL 5.7从入门到精通(视频教学版)(第2版)试读:

前言

本书是面向MySQL数据库管理系统初学者的一本高质量的书籍。目前国内MySQL需求旺盛,各大知名企业高薪招聘技术能力强的MySQL开发人员和管理人员。本书根据这样的需求,针对初学者量身订做,内容注重实战,通过实例的操作与分析,引领读者快速学习和掌握MySQL开发和管理技术。和第1版相比的变化

在第2版中,本书综合读者的建议和需求,主要做了以下变化:

·精炼案例,挑选最经典、最容易快速入门的案例,并且在案例上以符合实际开发为主线。

·非常详细介绍了MySQL 5.7的新功能,同时与早期版本中的运行效果进行对比。新功能主要包括为表增加计算列、提升安全性、临时表性能优化、服务器语句超时处理、支持创建全局通用表空间、多源复制的改进、在线添加主键、在线增大VARCHAR列长、在线重命名索引、支持JSON类型、InnoDB全文索引的加强、动态修改InnoDB缓冲池的大小、临时表性能优化、服务器语句超时处理、支持创建全局通用表空间、表空间数据加密和多源复制等。

·增加了精通MySQL存储引擎一章,详细介绍了MySQL的逻辑组成和数据库存储数据引擎方面介绍MySQL的整体架构,讨论MySQL锁机制的特点,以及解决MySQL锁问题的一些方法或建议。让读者能从整体上把握MySQL,理解MySQL的各个逻辑层是如何工作的。

·增加了PDO数据库抽象类库一章,主要讲述PDO数据库抽象类库的使用方法。

·增加了开发网上商城一章,详细介绍的网上商城的数据设计和代码开发过程,对初学者快速了解项目的开发流程有非常重要的作用。本书特色

内容全面:知识点由浅入深,涵盖了所有MySQL的基础知识点,由浅入深地掌握MySQL数据库开发技术。

图文并茂:注重操作,图文并茂,在介绍案例的过程中,每一个操作均有对应步骤和过程说明。这种图文结合的方式使读者在学习过程中能够直观、清晰地看到操作的过程以及效果,便于读者更快地理解和掌握。

易学易用:颠覆传统“看”书的观念,变成一本能“操作”的图书。

案例丰富:把知识点融汇于系统的案例实训当中,并且结合综合案例进行讲解和拓展。进而达到“知其然,并知其所以然”的效果。

提示技巧:本书对读者在学习过程中可能会遇到的疑难问题以“提示”和“技巧”的形式进行了说明,以免读者在学习的过程中走弯路。

技术前沿:本书将本书把MySQL 5.7的新特性分散到各章结合实例进行讲解,并做提示,方便读者快速掌握MySQL 5.7的新特性。

超值资源:本书共有480个详细实例和19个综合案例源代码,能让读者在实战应用中掌握MySQL的每一项技能。随书赠送近20小时培训班形式的视频教学录像,使本书真正体现“自学无忧”,令其物超所值。读者对象

本书是一本完整介绍MySQL数据库技术的教程,内容丰富、条理清晰、实用性强,适合以下读者学习使用:

·MySQL数据库初学者。

·对数据库开发有兴趣,希望快速、全面掌握MySQL的人员。

·对其他数据库有一定的了解,想转到MySQL平台上的开发者。

·高等院校和培训学校相关专业的师生。课件、源码、教学视频下载

本书的课件、源码、教学视频可以扫描右边的二维码下载。如果下载有问题,请发送电子邮件至booksaga@163.com,邮件主题为“MySQL 5.7第2版”。鸣谢与技术支持

本书由张工厂主编,参与编写工作的还有李小威、刘增产、王秀荣、王天护、王英英、刘增杰、刘玉萍、胡同夫、皮素芹、王猛、王攀登、王婷婷、王朵朵、李小威、王维维、张芳等人。虽然倾注了众多编者的努力,但由于水平有限、时间仓促,书中难免有疏漏之处,请读者谅解。如果遇到问题或有意见和建议,敬请与我们联系,我们将全力提供帮助。技术支持QQ群:790586917。编者2019年2月第1章 初识MySQL

学习目标|Objective

MySQL是一个开放源代码的数据库管理系统(Database Management System, DBMS),它是由MySQL AB公司开发、发布并支持的。MySQL是一个跨平台的开源关系型数据库管理系统,广泛地应用在Internet上的中小型网站开发中。本章主要介绍数据库的基础知识,通过本章的学习,读者可以了解数据库的基本概念、数据库的构成和MySQL的基本知识。

内容导航|Navigation

·了解什么是数据库

·掌握什么是表、数据类型和主键

·熟悉数据库的技术构成

·熟悉什么是MySQL

·掌握常见的MySQL工具

·了解如何学习MySQL1.1 数据库基础

数据库由一批数据构成有序的集合,这些数据被存放在结构化的数据表里。数据表之间相互关联,反映了客观事物间的本质联系。数据库系统提供对数据的安全控制和完整性控制。本节将介绍数据库中的一些基本概念,包括数据库的定义、数据表的定义和数据类型等。1.1.1 什么是数据库

数据库的概念诞生于60年前,随着信息技术和市场的快速发展,数据库技术层出不穷,随着应用的拓展和深入,数据库的数量和规模越来越大,其诞生和发展给计算机信息管理带来了一场巨大的革命。

数据库的发展大致划分为4个阶段:人工管理阶段、文件系统阶段、数据库系统阶段、高级数据库阶段。其种类大概有3种:层次式数据库、网络式数据库和关系式数据库。不同种类的数据库按不同的数据结构来联系和组织。

对于数据库的概念没有一个完全固定的定义,随着数据库的发展,定义的内容也有很大的差异。其中一种比较普遍的观点认为,数据库(Database, DB)是一个长期存储在计算机内的、有组织的、共享的、统一管理的数据集合。数据库是一个按数据结构来存储和管理数据的计算机软件系统,即数据库包含两层含义:保管数据的“仓库”,以及数据管理的方法和技术。

数据库的特点:实现数据共享,减少数据冗余;采用特定的数据类型;具有较高的数据独立性;具有统一的数据控制功能。1.1.2 表

在关系数据库中,数据库表是一系列二维数组的集合,用来存储数据和操作数据的逻辑结构。它由纵向的列和横向的行组成,行被称为记录,是组织数据的单位;列被称为字段,每一列表示记录的一个属性,都有相应的描述信息,如数据类型、数据宽度等。

例如一个有关作者信息的名为authors的表中,每列包含所有作者的某个特定类型的信息,比如“姓名”,而每行则包含某个特定作者的所有信息:编号、姓名、性别、专业,如图1.1所示。图1.1 authors表结构与记录1.1.3 数据类型

数据类型决定了数据在计算机中的存储格式,代表不同的信息类型。常用的数据类型有整数数据类型、浮点数数据类型、精确小数类型、二进制数据类型、日期/时间数据类型、字符串数据类型。

表中的每一个字段就是某种指定数据类型,比如图1.1中的“编号”字段为整数数据,“性别”字段为字符型数据。1.1.4 主键

主键(Primary Key)又称主码,用于唯一地标识表中的每一条记录。可以定义表中的一列或多列为主键,主键列上不能有两行相同的值,也不能为空值。假如定义authors表给每一个作者分配一个“作者编号”,该编号作为数据表的主键,如果出现相同的值,将提示错误,系统不能确定查询的究竟是哪一条记录;如果把作者的“姓名”作为主键,则不能出现重复的名字,这与现实中的情况不相符合,因此“姓名”字段不适合作为主键。1.2 数据库技术构成

数据库系统由硬件部分和软件部分共同构成,硬件主要用于存储数据库中的数据,包括计算机、存储设备等;软件部分则主要包括DBMS、支持DBMS运行的操作系统以及支持多种语言进行应用开发的访问技术等。本节将介绍数据库的技术构成。1.2.1 数据库系统

数据库系统有3个主要的组成部分。

·数据库:用于存储数据的地方。

·数据库管理系统:用于管理数据库的软件。

·数据库应用程序:为了提高数据库系统的处理能力所使用的管理数据库的软件补充。

数据库系统(Database System)提供了一个存储空间用以存储各种数据,可以将数据库视为一个存储数据的容器。一个数据库可能包含许多文件,一个数据库系统中通常包含许多数据库。

数据库管理系统(Database Management System, DBMS)是用户创建、管理和维护数据库时所使用的软件,位于用户与操作系统之间,对数据库进行统一管理。DBMS能定义数据存储结构,提供数据的操作机制,维护数据库的安全性、完整性和可靠性。

数据库应用程序(Database Application)虽然已经有了DBMS,但是在很多情况下,DBMS无法满足对数据管理的要求。数据库应用程序的使用可以满足对数据管理的更高要求,还可以使数据管理过程更加直观和友好。数据库应用程序负责与DBMS进行通信,访问和管理DBMS中存储的数据,允许用户插入、修改、删除DB中的数据。

数据库系统如图1.2所示。图1.2 数据库系统1.2.2 SQL语言

对数据库进行查询和修改操作的语言叫作SQL。SQL的含义是结构化查询语言(Structured Query Language)。SQL有许多不同的类型,有3个主要的标准:ANSI(美国国家标准机构)SQL;对ANSI SQL修改后在1992年采纳的标准,称为SQL-92或SQL2;最近的SQL-99标准,从SQL2扩充而来并增加了对象关系特征和许多其他新功能。其次,各大数据库厂商提供不同版本的SQL,这些版本的SQL不但能包括原始的ANSI标准,而且在很大程度上支持SQL-92标准。

SQL语言包含以下4个部分。(1)数据定义语言(DDL):DROP、CREATE、ALTER等语句。(2)数据操作语言(DML):INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。(3)数据查询语言(DQL):SELECT语句。(4)数据控制语言(DCL):GRANT、REVOKE、COMMIT、ROLLBACK等语句。

下面是一条SQL语句的例子,该语句声明创建一个名叫students的表:

该表包含4个字段,分别为student_id、name、sex、birth,其中student_id定义为表的主键。

现在只是定义了一张表,但并没有任何数据,接下来这条SQL声明语句将在students表中插入一条数据记录:

执行完该SQL语句之后,students表中就会增加一行新记录,该记录中字段student_id的值为41048101, name字段的值为Lucy Green, sex字段的值为1,birth字段的值为1990-02-14。

再使用SELECT查询语句获取刚才插入的数据,语句如下:

上面简单列举了常用的数据库操作语句,在这里给读者一个直观的印象,读者可能还不能理解,接下来会在学习MySQL的过程中详细介绍这些知识。1.2.3 数据库访问接口

不同的程序设计语言会有各自不同的数据库访问接口,程序语言通过这些接口执行SQL语句,进行数据库管理。下面介绍主要的数据库访问接口。1.ODBC

ODBC(Open Database Connectivity,开放数据库互连)技术为访问不同的SQL数据库提供了一个共同的接口。ODBC使用SQL作为访问数据的标准。这一接口提供了最大限度的互操作性:一个应用程序可以通过共同的一组代码访问不同的SQL数据库管理系统(DBMS)。

一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是Access、MySQL还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。2.JDBC

JDBC(Java Data Base Connectivity, Java数据库连接)是用于Java应用程序连接数据库的标准方法,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。3.ADO.NET

ADO.NET是微软在.NET框架下开发设计的一组用于和数据源进行交互的面向对象类库。ADO.NET提供了对关系数据、XML和应用程序数据的访问,允许和不同类型的数据源以及数据库进行交互。4.PDO

PDO(PHP Data Object)为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层。这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。

针对不同的程序语言,MySQL提供了不同的数据库访问连接驱动,读者可以在下载页面(http://dev.mysql.com/downloads/)下载相关驱动。1.3 什么是MySQL

MySQL是一个小型关系数据库管理系统,与其他大型数据库管理系统(例如Oracle、DB2、SQL Server等)相比,MySQL规模小、功能有限,但是它体积小、速度快、成本低,且提供的功能对稍微复杂的应用来说已经够用,这些特性使得MySQL成为世界上最受欢迎的开放源代码数据库。本节将介绍MySQL的特点。1.3.1 客户机-服务器软件

主从式架构(Client-Server Model)或客户端-服务器(Client/Server)结构简称C/S结构,是一种网络架构,通常在该网络架构下,软件分为客户端(Client)和服务器(Server)。

服务器是整个应用系统资源的存储与管理中心,多个客户端则各自处理相应的功能,共同实现完整的应用。在客户端/服务器结构中,客户端用户的请求被传送到数据库服务器,数据库服务器进行处理后,将结果返回给用户,从而减少了网络数据的传输量。

用户使用应用程序时,首先启动客户端通过有关命令告知服务器进行连接以完成各种操作,而服务器则按照此请示提供相应的服务。每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。

这种系统的特点是,客户端和服务器程序不在同一台计算机上运行,这些客户端和服务器程序通常归属不同的计算机。

主从式架构通过不同的途径应用于很多不同类型的应用程序,比如,现在人们熟悉的在因特网上使用的网页。例如,当顾客想要在当当网上买书的时候,电脑和网页浏览器就被当作一个客户端,同时,组成当当网的电脑、数据库和应用程序被当作服务器。当顾客的网页浏览器向当当网请求搜寻数据库相关的图书时,当当网服务器从其数据库中找出所有该类型的图书信息,结合成一个网页,再发送给顾客的浏览器。服务器端一般使用高性能的计算机,并配合使用不同类型的数据库,比如Oracle、Sybase、MySQL等;客户端需要安装专门的软件,比如专门开发的客户端工具浏览器等。1.3.2 MySQL版本

针对不同用户,MySQL分为两个不同的版本。

·MySQL Community Server(社区版):该版本完全免费,但是官方不提供技术支持。

·MySQL Enterprise Server(企业版服务器):它能够以很高性价比为企业提供数据仓库应用,支持ACID事物处理,提供完整的提交、回滚、崩溃恢复和行级锁定功能。但是该版本需付费使用,官方提供电话技术支持。提示MySQL Cluster主要用于架设集群服务器,需要在社区版或企业版的基础上使用。

MySQL的命名机制由3个数字和1个后缀组成,例如MySQL-5.7.22。(1)第1个数字(5)是主版本号,描述了文件格式,所有版本5的发行版都有相同的文件格式。(2)第2个数字(7)是发行级别,主版本号和发行级别组合在一起便构成了发行序列号。(3)第3个数字(22)是此发行系列的版本号,随每次新分发版本递增。通常选择已经发行的最新版本。

在MySQL开发过程中,同时存在多个发布系列,每个系列的成熟度处在不同阶段。(1)MySQL 5.7是最新开发的稳定(GA)发布系列,是将执行新功能的系列,目前已经可以正常使用。(2)MySQL 5.6是比较稳定(GA)发布系列,只针对漏洞修复重新发布,没有增加会影响稳定性的新功能。(3)MySQL 5.1是前一稳定(产品质量)发布系列,只针对严重漏洞修复和安全修复重新发布,没有增加会影响该系列的重要功能。提示对于MySQL 4.1、4.0和3.23等低于5.0的老版本,官方将不再提供支持。而所有发布的MySQL(Current Generally Available Release)版本已经经过严格标准的测试,可以保证其安全可靠地使用。针对不同的操作系统,读者可以在MySQL官方下载页面(http://dev.mysql.com/downloads/)下载相应的安装文件。1.3.3 MySQL的优势

MySQL的主要优势如下:(1)速度:运行速度快。(2)价格:MySQL对多数个人来说是免费的。(3)容易使用:与其他大型数据库的设置和管理相比,其复杂程度较低,易于学习。(4)可移植性:能够工作在众多不同的系统平台上,例如Windows、Linux、UNIX、Mac OS等。(5)丰富的接口:提供了用于C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等语言的API。(6)支持查询语言:MySQL可以利用标准SQL语法和支持ODBC(开放式数据库连接)的应用程序。(7)安全性和连接性:十分灵活和安全的权限和密码系统,允许基于主机的验证。连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全。并且由于MySQL是网络化的,因此可以在因特网上的任何地方访问,提高数据共享的效率。1.3.4 了解MySQL 5.7的新特性

和MySQL 5.6相比,MySQL 5.7的新功能主要包括以下几个方面。1.性能大幅度提升

MySQL 5.7在所有负载模型上都有显著的性能改进,并创造了新的基准测试纪录。MySQL 5.7在Point Select查询测试中,测试成绩是MySQL 5.6的3倍多。2.支持JSON

JSON(JavaScript Object Notation)是一种存储信息的格式,可以很好地替代XML。从MySQL 5.7将支持JSON,而在此版本之前,只能通过strings之类的通用形式来存储JSON文件,这样做的缺陷很明显,就是必须要自行确认和解析数据、解决更新中的困难或在执行插入操作时忍受较慢的速度。

在MySQL 5.7中,新增了一种新的数据类型,用来在MySQL的表中存储JSON格式的数据。原生支持JSON数据类型主要有如下好处:(1)文档校验:只有符合JSON规范的数据段才能被写入类型为JSON的列中,相当于有了自动JSON语法校验。(2)高效访问:在JSON类型的列中存储JSON文档时,数据不会被视为纯文本进行存储,而是以一种优化后的二进制格式进行存储,以便可以更快速地访问其对象成员和数组元素。(3)提升性能:通过在JSON类型的列上创建索引,可以提升数据查询性能。3.Performance Schema

对于任何数据管理系统而言,监控是必要的。MySQL提供的核心监控策略是Performance Schema。Performance Schema在MySQL 5.7中的改进包括大量新加入的监控项、降低占用空间和负载、通过新的SYS Schema机制显著地提升易用性。

在监控方面,Performance Schema提供了如下新功能:(1)元数据锁(Metadata Locking):任何已经开始的事务将一直持有表的元数据锁直到事务提交。由于开始的事务会持有事务关联的所有表的元数据锁,因此任何DDL操作在前面的事务提交前是不能够执行的。(2)进度跟踪(Stage Tracking):长时间跟踪操作的进度。(3)事务:监控服务层和存储引擎层的事务的全部方面。(4)内存使用:通过统计内存使用的信息,从而了解内存的消耗情况。(5)预编译语句:通过预编译语句提供聚合统计信息,并且展示服务使用的预编译语句。4.SYS Schema

MySQL SYS Schema是一个由一系列对象(视图、存储过程、存储方法、表和触发器)组成的数据Schema,主要存储在Performance Schema和INFORMATION_SCHEMA的监测数据资源中。MySQL SYS Schema默认包含在MySQL 5.7中,并提供摘要视图以解决以下问题:(1)哪些进程占用了数据库的所有资源?(2)哪些主机对数据库服务器的访问量最大?(3)数据库实例上的内存都被用到了什么地方?5.性能和可扩展性

改进InnoDB的可扩展性和临时表的性能,从而实现更快的网络和大数据加载等操作。6.改进复制以提高可用性的性能

包括多源复制、增强多从线程功能、在线GTIDs和增强的半同步复制。7.性能模式提供更好的视角

增加了许多新的监控功能,以减少空间和过载,使用新的SYS模式显著提高易用性。8.提高安全

以安全第一为宗旨,提供了很多新的功能,从而保证数据库的安全。9.优化

重写了大部分解析器、优化器和成本模型,提高了可维护性、可扩展性和性能。10.透明的页级别压缩

自MySQL 5.1开始,InnoDB支持表压缩特性。InnoDB页级别的压缩是MySQL 5.7的一个新特性,它补充了InnoDB的表级压缩,它们可以在同一个服务实例上并存。用户现在可以选择最适合他们使用场景的压缩方式,甚至基于不同的表选择不同的压缩方式。

对于压缩算法,目前支持Zlib和LZ4。当一个页被写入时,它就被指定的压缩算法压缩。压缩后的数据写到磁盘上,随后“hole punching”机制会在页的末尾处释放空块。如果压缩失败,数据则被原样写入。

InnoDB现在也支持32KB和64KB的页大小设置,这对于页级的压缩来说是一个很好的补充。一般来说,更大的页通常会增加冗余的数据量。MySQL 5.7增加了用户可配置填充因子和页合并抑制的新特性,这样可以让InnoDB更好地使用存储空间。11.本地分区

在早期版本中,对InnoDB分区的支持依赖于ha_partition处理器,这个处理器可以为每一个分区创建一个新的处理器,当使用很多分区时,这个处理器也相应地浪费了很多资源。

在MySQL 5.7 InnoDB中包含对本地分区的支持,可以使用更少的整体资源。InnoDB的本地分区也为较好地整体分区铺平了道路。这包含并行查询进程、改进分区裁剪、外键支持、全局二级索引和在分区表上的全文本搜索之类的功能。作为这项工作的一部分,也已经从分区处理器类中的特性部分分离出了它自己的分区接口。InnoDB本地分区功能可以明显降低负载,减少多达90%的内存需求。12.缓存保留

在MySQL 5.7服务器重启时,InnoDB自动保留缓存池中最热的25%的数据。这样的好处是,用户不需要任何预加载或预热数据缓存的工作,也不需要承担MySQL重启带来的性能损失。1.4 MySQL工具

MySQL数据库管理系统提供了许多命令行工具,这些工具可以用来管理MySQL服务器、对数据库进行访问控制、管理MySQL用户以及数据库备份和恢复工具等。而且MySQL提供图形化的管理工具,这使得对数据库的操作更加简单。本节将为读者介绍这些工具的作用。1.4.1 MySQL命令行实用程序

MySQL服务器端实用工具程序如下。(1)mysqld: SQL后台程序(MySQL服务器进程)。必须在该程序运行之后,客户端才能通过连接服务器访问数据库。(2)mysqld_safe:服务器启动脚本。在UNIX和NetWare中推荐使用mysqld_safe来启动mysqld服务器。mysqld_safe增加了一些安全特性,例如当出现错误时重启服务器并向错误日志文件写入运行时间信息。(3)mysql.server:服务器启动脚本。在UNIX中的MySQL分发版包括mysql.server脚本。该脚本用于使用包含为特定级别的、运行启动服务的脚本的、运行目录的系统。它调用mysqld_safe来启动MySQL服务器。(4)mysql_multi:服务器启动脚本,可以启动或停止系统上安装的多个服务器。(5)myisamchk:用来描述、检查、优化和维护MyISAM表的实用工具。(6)mysqlbug: MySQL缺陷报告脚本。它可以用来向MySQL邮件系统发送缺陷报告。(7)mysql_install_db:该脚本用默认权限创建MySQL授权表。通常只是在系统上首次安装MySQL时执行一次。

MySQL客户端实用工具程序如下。(1)myisampack:压缩MyISAM表以产生更小的只读表的一个工具。(2)mysql:交互式输入SQL语句或从文件以批处理模式执行它们的命令行工具。(3)mysqlaccess:检查访问主机名、用户名和数据库组合的权限的脚本。(4)mysqladmin:执行管理操作的客户程序,例如创建或删除数据库、重载授权表、将表刷新到硬盘上以及重新打开日志文件。mysqladmin还可以用来检索版本、进程以及服务器的状态信息。(5)mysqlbinlog:从二进制日志读取语句的工具。在二进制日志文件中包含执行过的语句,可用来帮助系统从崩溃中恢复。(6)mysqlcheck:检查、修复、分析以及优化表的表维护客户程序。(7)mysqldump:将MySQL数据库转储到一个文件(例如SQL语句或tab分隔符文本文件)的客户程序。(8)mysqlhotcopy:当服务器在运行时,快速备份MyISAM或ISAM表的工具。(9)mysql import:使用LOAD DATA INFILE将文本文件导入相关表的客户程序。(10)mysqlshow:显示数据库、表、列以及索引相关信息的客户程序。(11)perror:显示系统或MySQL错误代码含义的工具。1.4.2 MySQL Workbench

MySQL Workbench是下一代可视化数据库设计软件,为数据库管理员和开发人员提供了一整套可视化数据库操作环境,主要功能有:

·数据库设计和模型建立。

·SQL开发(取代MySQL Query Browser)。

·数据库管理(取代MySQL Administrator)。

MySQL Workbench有两个版本:(1)MySQL Workbench Community Edition(也叫MySQL Workbench OSS,社区版),MySQL Workbench OSS是在GPL证书下发布的开源社区版本。(2)MySQL Workbench Standard Edition(也叫MySQL Workbench SE,商业版),MySQL Workbench SE是按年收费的商业版本。提示一些出版时间较早的MySQL教程中会提到图形化的工具MySQL Query Browser和MySQL Administrator。随着MySQL的发展,Oracle公司使用更高效、便捷的Workbench替换掉了这两个工具,目前官方已经不再提供MySQL Query Browser和MySQL Administrator的技术支持和更新,但是仍然可以在旧版本MySQL中使用它们。1.5 如何学习MySQL

在学习MySQL数据库之前,很多读者会问,如何才能学习好MySQL 5.7的相关技能呢?下面就来讲述学习MySQL的方法。1.培养兴趣

兴趣是最好的老师,不论学习什么知识,兴趣都可以极大地提高学习效率。当然学习MySQL也不例外。2.夯实基础

计算机领域的技术非常强调基础,刚开始学习可能还认识不到这一点,随着技术应用的深入,只有有着扎实的基础功底,才能在技术的道路上走得更快、更远。对于MySQL的学习来说,SQL语句是其中最为基础的部分,很多操作都是通过SQL语句来实现的。所以在学习的过程中,读者要多编写SQL语句,对于同一个功能,使用不同的实现语句来完成,从而深刻理解其不同之处。3.及时学习新知识

正确、有效地利用搜索引擎可以搜索到很多关于MySQL的知识。同时,参考别人解决问题的思路,也可以吸取别人的经验,及时获取最新的技术资料。4.多实践操作

数据库系统具有极强的操作性,需要多动手上机操作。在实际操作的过程中才能发现问题,并思考解决问题的方法和思路,只有这样才能提高实战的操作能力。第2章  MySQL的安装与配置

学习目标|Objective

MySQL支持多种平台,不同平台下的安装与配置过程也不相同。在Windows平台下可以使用二进制的安装软件包或免安装版的软件包进行安装,二进制的安装包提供了图形化的安装向导过程,而免安装版直接解压缩即可使用。Linux平台下使用命令行安装MySQL,但由于Linux是开源操作系统,有众多的分发版本,因此不同的Linux平台需要下载相应的MySQL安装包。本章将主要讲述Windows和Linux两个平台下MySQL的安装和配置过程。

内容导航|Navigation

·掌握如何在Windows平台下安装和配置MySQL 5.7

·掌握启动服务并登录MySQL数据库

·掌握MySQL的两种配置方法

·熟悉MySQL常用图形管理工具

·掌握常见的MySQL工具

·掌握如何在Linux平台下安装和配置MySQL 5.72.1 Windows平台下安装与配置MySQL 5.7

在Windows平台下安装MySQL可以使用图行化的安装包,图形化的安装包提供了详细的安装向导,通过向导,读者可以一步一步地完成对MySQL的安装。本节将介绍使用图形化安装包安装MySQL的步骤。2.1.1 安装MySQL 5.7

要想在Windows中运行MySQL,需要32位或64位Windows操作系统,例如Windows XP、Windows Vista、Windows 7、Windows 8、Windows Server 2003、Windows Server 2008等。Windows可以将MySQL服务器作为服务来运行,通常在安装时需要具有系统的管理员权限。

Windows平台下提供两种安装方式:MySQL二进制分发版(.msi安装文件)和免安装版(.zip压缩文件)。一般来讲,应当使用二进制分发版,因为该版本比其他的分发版使用起来要简单,不再需要其他工具来启动就可以运行MySQL。1.下载MySQL安装文件

下载MySQL安装文件的具体操作步骤如下。步骤01 打开IE浏览器,在地址栏中输入网址:https://

dev.mysql.com/downloads/windows/installer/5.7.html,单击【转

到】按钮,打开MySQL Community Server 5.7.22的下载页面,

选择Microsoft Windows平台,然后根据读者的平台选择32位或者

64位安装包,在这里选择32位,单击右侧的【Download】按钮

开始下载,如图2.1所示。图2.1 MySQL下载页面步骤02 在弹出的页面中提示开始下载,这里单击【Login】按钮,

如图2.2所示。图2.2 开始下载页面提示这里32位的安装程序有两个版本,分别为mysql-installer-web-community和mysql-installer-communityl,其中mysql-installer-web-community为在线安装版本,mysql-installer-communityl为离线安装版本。步骤03 弹出用户登录页面,输入用户名和密码后,单击【登录】

按钮,如图2.3所示。图2.3 用户登录页面步骤04 弹出开始下载页面,单击【Download Now】按钮,即可开

始下载,如图2.4所示。图2.4 开始下载页面提示如果用户没有用户名和密码,那么单击【创建账户】按钮进行注册即可。2.安装MySQL 5.7

MySQL下载完成后,找到下载文件,双击进行安装,具体操作步骤如下。步骤01 双击下载的mysql-installer-community-5.7.22.msi文件,如图

2.5所示。图2.5 MySQL安装文件名称步骤02 打开【License Agreement】(用户许可证协议)窗口,选中【I accept the license terms】(我接受许可协议)复选框,单击【Next】(下一步)按钮,如图2.6所示。图2.6 用户许可证协议窗口步骤03 打开【Choosing a Setup Type】(安装类型选择)窗口,在

其中列出了5种安装类型,分别是Developer Default(默认安装

类型)、Server only(仅作为服务器)、Client only(仅作为客户

端)、Full(完全安装)和Custom(自定义安装类型)。这里选

择【Custom】单选按钮,单击【Next】按钮,如图2.7所示。图2.7 安装类型选择窗口步骤04 打开【Select Products and Features】(产品定制选择)窗口,选择【MySQL Server5.7.22-X86】后,单击【添加】按钮,即可选择安装MySQL服务器。采用同样的方法,添加【Samples and Examples 5.7.22-X86】和【MySQL

Documentation 5.7.22-X86】选项,如图2.8所示。图2.8 产品定制选择窗口步骤05 单击【Next】按钮,进入安装确认窗口,单击【Execute】(执行)按钮,如图2.9所示。图2.9 安装确认窗口步骤06 开始安装MySQL文件,安装完成后,在【Status】(状态)

列表下将显示Complete(安装完成),如图2.10所示。图2.10 安装完成窗口2.1.2 配置MySQL 5.7

MySQL安装完毕之后,需要对服务器进行配置。具体的配置步骤如下。步骤01 在2.1.1小节的最后一步中,单击【Next】按钮,进入服务

器配置窗口,如图2.11所示,单击【Next】按钮。图2.11 服务器配置窗口步骤02 进入MySQL服务器配置窗口,采用默认设置,单击【Next】按钮,如图2.12所示。图2.12 MySQL服务器配置窗口

MySQL服务器配置窗口中各个参数的含义如下。

·Server Configuration Type:该选项用于设置服务器的类型。单击该选项右侧的向下按钮,可看到包括3个选项,如图2.13所示。图2.13 MySQL服务器的类型

上图中3个选项的具体含义如下。(1)Development Machine(开发机器):该选项代表典型个人用桌面工作站。假定机器上运行着多个桌面应用程序,将MySQL服务器配置成使用最少的系统资源。(2)Server Machine(服务器):该选项代表服务器,MySQL服务器可以同其他应用程序一起运行,例如FTP、Email和Web服务器。MySQL服务器配置成使用适当比例的系统资源。(3)Dedicated Machine(专用服务器):该选项代表只运行MySQL服务的服务器。假定没有运行其他服务程序,MySQL服务器配置成使用所有可用系统资源。提示作为初学者,建议选择【Development Machine】选项,这样占用系统的资源比较少。步骤03 打开设置服务器的密码窗口,重复输入两次同样的登录密

码后,单击【Next】按钮,如图2.14所示。图2.14 设置服务器的密码窗口提示系统默认的用户名称为root,如果想添加新用户,可以单击【Add User】(添加用户)按钮进行添加。步骤04 打开设置服务器名称窗口,本案例设置服务器名称为“MySQL”,单击【Next】按钮,如图2.15所示。图2.15 设置服务器名称窗口步骤05 打开确认设置服务器窗口,单击【Execute】(执行)按

钮,如图2.16所示。图2.16 确认设置服务器窗口步骤06 系统自动配置MySQL服务器。配置完成后,单击【Finish】(完成)按钮,即可完成服务器的配置,如图2.17所示。图2.17 完成配置服务器步骤07 按键盘上的【Ctrl+Alt+Del】组合键,打开【任务管理

器】窗口,可以看到MySQL服务进程mysqld.exe已经启动了,如

图2.18所示。图2.18 任务管理器窗口

至此,就完成了在Windows 10操作系统环境下安装MySQL的操作。2.2 启动服务并登录MySQL数据库

MySQL安装完毕之后,需要启动服务器进程,不然客户端无法连接数据库,客户端通过命令行工具登录数据库。本节将介绍启动MySQL服务器和登录MySQL的方法。2.2.1 启动MySQL服务

在前面的配置过程中,已经将MySQL安装为Windows服务,当Windows启动、停止时,MySQL也自动启动、停止。不过,用户还可以使用图形服务工具来控制MySQL服务器或从命令行使用NET命令。

可以通过Windows的服务管理器查看,具体的操作步骤如下。步骤01 单击【开始】菜单,在搜索框中输入“services.msc”,按【Enter】键确认,如图2.19所示。图2.19 搜索框步骤02 打开Windows的【服务管理器】,在其中可以看到服务名为“MySQL”的服务项,其右边状态为“已启动”,表明该服务已

经启动,如图2.20所示。图2.20 服务管理器窗口

由于设置了MySQL为自动启动,在这里可以看到服务已经启动,而且启动类型为自动。如果没有“已启动”字样,说明MySQL服务未启动。启动方法:单击【开始】菜单,在搜索框中输入“cmd”,按【Enter】键确认,弹出命令提示符界面,然后输入“net start MySQL”,按回车键,就能启动MySQL服务了。停止MySQL服务的命令为“net stop MySQL”,如图2.21所示。图2.21 命令行中启动和停止MySQL

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

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载