跳到主要内容

任务一 MySQL概述

知识点​

1.什么是MySQL?​

答:MySQL是最流行的关系型数据库管理系统RDBMS(Relational Database Management System)之一。MySQL体积小,速度快,总体拥有成本低,开放源码,一般中小型网站都选择用MySQL作为网站数据库。MySQL目前属于Oracle旗下产品,采用关系数据模型,使用通用的标准化SQL语言来进行操作。

2.什么是开源软件?MySQL为什么属于开源软件?​

答:开源是指代码创作者在遵循相关开源协议的基础上,将自己开发的软件源代码向全世界公开,允许其他开发者进行自主学习、测试、修改、二次开发和传播等活动,以协同方式改善软件产品的质量和优化软件功能等。MySQL是开放源码的数据库管理系统,用户可以直接从网上下载且无版权制约,采用GPL(GNU General Public License)协议,用户可以自主使用、修改源码来开发自己的MySQL系统,因此MySQL属于开源软件。

3.简述MySQL的发展历程。​

答:MySQL最初由"MySQL AB"公司开发,该公司由两个瑞典人和一个芬兰人(David Axmark、Allan Larsson和Michael "Monty" Widenius)在瑞典创办,1995年正式发布MySQL。2008年初由Sun Microsystems公司收购,2010年Sun Microsystems又被Oracle(甲骨文公司)收购,最终MySQL并入Oracle的数据库产品线。甲骨文公司继续积极发展MySQL,并将其作为重要的开源产品来维护和提升。

4.MySQL有哪些主要特点?​

答:(1)开源免费:采用GPL协议,可免费下载使用,无版权制约。 (2)容易使用:体积小,安装方便,提供管理工具和GUI客户端。 (3)高性能:优化了查询性能,可处理大量数据,有良好的读写性能和并发性,提供丰富的索引和分区功能。 (4)功能强大:提供多种数据库存储引擎,适用于不同的应用场合。 (5)运行速度快:数据保存在不同表中,使用B树磁盘表和索引压缩,采用优化的"单扫描多连接"实现极快的连接。 (6)数据安全:采用用户认证、数据加密、数据权限分配等安全机制,支持自动故障转移和数据恢复。 (7)支持跨平台:可在Windows、Linux、Unix、macOS、FreeBSD等多个平台上运行。 (8)丰富的接口:为C、C++、Java、PHP、Python、Ruby等多种编程语言提供API接口。

5.MySQL的主要应用领域有哪些?​

答:(1)数据分析:用于金融、医疗、电子商务等领域的数据挖掘、数据聚合和数据可视化。 (2)大数据应用:作为大数据应用的后端数据存储和处理引擎,支持主从复制、Galera集群和MySQL Cluster等集群技术。 (3)Web开发:是许多Web应用的首选数据库,用于存储和管理网站数据,如电子商务网站、游戏网站和在线论坛等。 (4)应用程序:通过ODBC和JDBC驱动程序帮助开发者构建ERP、CRM等应用程序。 (5)数据库管理:帮助数据库管理员进行备份和还原数据库、优化数据库性能和查找数据库错误等工作。

6.简述MySQL的架构组成。​

答:MySQL是一个真正的多用户、多线程、强大的SQL数据库服务器,由一个服务程序mysqld和很多不同的客户程序和库组成。MySQL采用典型的客户端-服务器(Client/Server,C/S)结构:服务器程序直接跟存储的数据打交道,客户端是与用户打交道的软件。客户端用户以SQL指令形式向服务器发送增删改查等请求,服务器接受请求后对数据进行过滤、丢弃和排序等处理,最后把结果返回给客户端。客户端和服务器程序通常不在同一台计算机上运行,多个客户端可以连接到一个服务器上,也可以安装在同一台计算机上。

7.简述客户端-服务器(C/S)结构的工作原理。​

答:客户端-服务器(Client/Server)结构简称C/S结构,是一种网络架构。在该架构下,软件分为服务器和客户端两部分。服务器程序直接跟存储的数据打交道,客户端是与用户打交道的软件。客户端用户以SQL指令形式向服务器发送增删改查等请求,服务器接受请求后,根据需要对数据进行过滤、丢弃和排序,对存储的数据做出相应的处理,最后把结果返回给客户端。多个客户端程序可以连接到一个服务器上,客户端和服务器可以在同一台计算机上运行,也可以在不同计算机上运行。

8.MySQL有哪两种版本?各有什么特点?​

答:MySQL软件采用了双授权政策,官方提供社区版和商业版两种版本。

(1)社区版(MySQL Community Server):完全免费,官方不提供技术支持,是世界上使用最广泛的开源关系型数据库。主流版本包括:

  • MySQL 5.7:目前最常用的、近10年最经典的、最稳定的版本,在性能、可靠性和安全性方面有很大改进,支持JSON数据类型和多源复制等新功能。
  • MySQL 8.0:最新版本,引入了全文搜索、JSON数据类型、窗口函数等新功能,同时增强了安全性和性能。

(2)商业版(MySQL Enterprise Edition):需付费使用,官方提供技术支持,包括云服务(MySQL HeatWave)、企业版、标准版、高级集群版等。支持ACID事务处理,提供完整的提交、回滚、崩溃恢复和行级锁定功能。

两种版本对于基本的SQL功能是完全一样的,用户可以在电脑上安装免费的社区版进行学习、开发、测试,部署实用时再选择付费版本,而不需要对应用程序本身做改动。

9.什么是关系型数据库管理系统(RDBMS)?​

答:RDBMS(Relational Database Management System)即关系型数据库管理系统,是采用关系数据模型来组织数据的数据库管理系统。关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样增加了速度并提高了灵活性。MySQL就是最流行的关系型数据库管理系统之一,使用通用的标准化SQL语言进行操作。

10.MySQL为什么运行速度快?​

答:MySQL运行速度快的原因主要有三个方面:①MySQL使用关系数据模型,关系数据库将数据保存在不同的表中而不是一个大仓库内,增加了速度并提高了灵活性;②MySQL使用极快的B树磁盘表(MyISAM)和索引压缩,提高数据访问速度;③通过使用优化的"单扫描多连接",能够实现极快的连接。

11.MySQL如何保障数据安全?​

答:MySQL采用多种安全机制来保障数据的安全性,包括用户认证、数据加密、数据权限分配等。此外,MySQL还可以自动进行故障转移和数据恢复,保证数据的安全性和完整性。

12.选择MySQL版本时需要考虑什么?​

答:选择MySQL版本需要考虑需求和实际情况。MySQL 5.7是最常用的、最稳定的版本,适合大多数应用场景;MySQL 8.0是最新的版本,功能更丰富。无论选择哪个版本,都要确保及时更新和维护,以保证安全性和性能。用户可以在电脑上安装免费的社区版进行学习、开发、测试,部署实用时再选择付费的商业版本或云服务商提供的兼容版本,而不需要对应用程序本身做改动。