MySQL入门介绍

顾颖17021223250

转载自https://blog.csdn.net/linuxlsq/article/details/52606307

【嵌牛导读】:数据库(英文Dtabase)就是一个存放数据的仓库,这个仓库是按照一定的数据结果(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的、我们可以通过数据库提供的多种方法来管理数据库里的数据更简单的形象理解,数据库和我们生活中存放杂物的仓库性质一样,区别只是存放的东西不同。

【嵌牛鼻子】:MySQL Oracle

【嵌牛提问】:数据库的种类有哪些?什么是关系型数据库?

【嵌牛正文】:

1.1什么是数据库?

简单的说,数据库(英文Dtabase)就是一个存放数据的仓库,这个仓库是按照一定的数据结果(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的、我们可以通过数据库提供的多种方法来管理数据库里的数据更简单的形象理解,数据库和我们生活中存放杂物的仓库性质一样,区别只是存放的东西不同。

1.2数据库的种类

早期比较流行的数据库模型有三种,分别为层次式数据库、网络式数据库和关系型数据库。而在当今的互联网中,最常用的数据库模型主要是两种,即关系型数据库和非关系型数据库。

1.3关系型数据库介绍

(1)关系型数据库由来

网络数据库和层次数据库很好地解决了数据的集中和共享问题,但是在数据独立性和抽象级别上仍有很大欠缺。用户对这两种数据库进行存取时,依然需要明确数据的存储结构,支出存储路径。而关系数据库就可以较好地解决这些问题

(2)关系型数据库介绍

关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。

Oracle在数据库领域里上升到了霸主地位,形成每年高达数百亿美元的庞大市场,而MySQL也是不容忽视的数据库,以至于被Oracle重金收购

1.4什么是关系型数据库

Mysql和Oracle数据库,互联网运维最常用的是MySQL

通过SQL结构化查询语句存储数据

保持数据一致性方面很强,ACID理论

1.5非关系型数据库介绍

1.6非关系型数据库诞生背景

非关系型数据库也被成为NoSQL数据库,NOSQL的本意是“Not Olnly SQL”

指的是非关系型数据库,而不是“No SQL”的意思,因此,NoSQL的产生并不是要彻底地否定非关系型数据库,而是作为传统关系型数据库的一个有效补充。NOSQL数据库在特定的场景下可以发挥出难以想象的高效率和高性能。

随着互联网Web2.0网站的星期,传统的关系型数据库在应付web2,0网站,特别是对于规模日益扩大的海量数据,超大规模和高并发的微博、微信、SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题。

例如:传统的关系型数据库IO瓶颈、性能瓶颈都难以有效突破,于是出现了大批针对特定场景,以高性能和使用便利为目的功能特异化的数据库产品。NOSQL(非关系型)类的数据就是在这样的情景下诞生并得到了非常迅速的发展

NOSQL非关系型数据库小结:

1、NOSQL不是否定关系数据库,而是作为关系数据库的一个重要补充

2、NOSQL为了高性能、高并发而生,忽略影响高性能,高并发的功能

3、NOSQL典型产品memcached (纯内存),redis(持久化缓存),mongodb(文档的数据库)

1.7非关系型数据库种类

(1)键值(Key-Value)存储数据库

k1—>数据

k2—>数据

键值数据库就类似传统语言中使用哈希表,可以通过key来添加、查询或删除数据,因为使用key主键访问,所以会获得很高的性能及扩展性

键值(Key-Value)数据库主要是使用一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署、高并发

典型产品:Memcached、Redis、MemcacheDB、BerkeleyDB

[if !supportLists](2)[endif]列存储(Column-oriedted)数据库 ======>了解即可,一般公司用不到(3)面向文档(Document-Oriented)数据库

[if !supportLists](3)[endif]面向文档数据库会将以文档的形式存储。每个文档都是自包含的数据单元,是一系列数据项的集合。每个数据项都有一个名称与对应的值,值既可以是简单的数据类型,如字符串、数字和日期等;也可以是复杂的类型,如有序列表和关系对象。数据存储的最小单位是文档,同一个表中存储的文档属性可以是不同的,数据可以使用XML、JSON或者JSONB等多种形式存储

典型产品:MorgoDB、CouchDB 图形(Graph)数据库

1.8常用关系型数据库产品介绍

1.8.1 oracle数据库

Oracle前身叫SDL、由Larry Ellison和两个变成任意在1977创办,他们开发了主机的拳头产品,在市场上大量销售。Oracle公司是最早开发关系型数据库的厂商之一,其产品支持最广泛的操作系统平台。目前Oracle关系数据库产品的市场占有率数一数二

Oracle公司是目前全球最大的数据库软件公司,也是近年业务增长极为迅速的软件提供与服务商

主要应用范围:传统大企业、大公司、政府、金融、证券等。

版本升级:oracle8i,oracle9i,oracle10g,oracle11g,oracle12c

1.8.2 MySQL

MySQL被广泛的应用在Internet上的大中小型网站中。由于体积小、速度快、总体拥有成本低,开放源代码

1.8.3 MariaDB数据库

MAriaDB数据库管理系统是MySQL数据库的一个分支,主要由开元社区维护,采用GPL授权许可。开发这个MariaDB的原因之一是:甲骨文公司收购了MySQL后,有MySQL闭源的潜在风险,因此MySQL开元社区采用分支的方式来避开这个风险。

MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM的存储引擎,它使用了Percona的XtraDB(InnoDB的变体)这个版本还包括了PrimeBase XT (PBXT)和Federated X存储引擎。

1.8.4 SQL Server数据库

Microsoft SQL Server是微软公司开发的大型关系数据库系统。SQL Server的功能比较全面,效率高,可以作为中型企业或单位的数据库平台。SQL Server可以与Winodws操作系统紧密集成,不论是应用程序开发速度还是系统事务处理运行速度,都得到较大的提升,对于在Windows平台上开发的各种企业级信息管理系统来说,不论是C/S(客户机/服务器)架构还是B/S(浏览器/服务器)架构。SQL Server都是一个很好的选择。SQL Server的缺点是只能在Windows系统下运行

1.8.5 Access数据库

Access是入门级小型桌面数据库,性能安全性都很一般,可供个人管理或小型企业只用

Access不是数据库语言,只是一个数据库程序,目前最新版本为Office 2007,其特点主要如下:

(1)完善地管理各种数据库对象,具有强大的数据组织,用户管理、安全检查等功能

(2)强大的数据处理功能,在一个工作组级别的网络环境中,使用Access开发的多用户管理系统具有传统的XSASE(DBASE、FoxBASE的统称)数据库系统所无法实现的客户服务器(Ckient/Server)结构和响应的数据库安全机制,Access具备了许多先进的大型数据管理管理系统所具备的特征。

(3)可以方便地生成各种数据对象,利用存储的数据建立窗体和报表

(4)作为Office套件的一部分,可以与Office集成,实现无缝连接

(5)能够利用Web检索和发布数据,实现与Internet的连接,Access主要适用于中小企业应用系统,或作为客户机/服务器系统中的客户端数据库。

1.9其他不常用关系型数据库

DB2,PostgreSQL,Informix,Sybase等。这些关系型数据库逐步的淡化了普通运维的实现,特别是互联网公司几乎见不到

2.1 Mysql数据库介绍

2.2 Mysql数据库介绍

MySQL是互联网领域里一款最要的,深受广大用户欢迎的开源关系型数据库软件之一、由瑞典MySQL AB公司开发与维护。2006年。MySQL AB公司被SUN公司收购,2008年,SUN公司又被传统数据数据库领域大佬甲骨文(oracle)公司收购,因此,MySQL数据库软件目前属于Oracle公司,成为传统数据库领域老大的又一个数据库产品,甲骨文公司收购MySQL后,使得自身在商业数据库与开源软件领域市场占有份额都跃居第一的位置,这样的格局,引起了很多人的担忧,这种担忧直接导致后来的Mysql分支数据库MariaDB的诞生于发展。

MySQL是一种关系型数据库管理系统,关系型数据库的特点是将数据保存在不同的表中,在将这些表放入不同的数据库中,而不是将所有数据统一放在一个大仓库里,这样的设计增加了MySQL的读取速度,灵活性和可管理型也得到了很大提高,访问以及管理MySQL数据库的最常用标准化语言为SQL结构化查询语句

2.3为什么选择MySQL数据库

原因可能有以下几点:

(1) MySQL性能卓越、服务稳定,很少出现异常宕机

(2) MySQL开放源代码且无版权制约,自主性及使用成本低

(3) MySQL历史悠久,社区及用户活跃,遇到问题可以解决

(4) MySQL软件体积小,安装使用简单,并且易于文虎,安装及维护成本低

(5) MySQL品牌口碑效应,使得企业无需考虑就直接用,LAMP、LEMP流行架构

(6) MySQL支持多用操作系统,提供多种API接口,支持多用开发语言,特别对流行的PHP语言有很好的支持

2.4 MySQL数据库分类与版本升级

MySQL数据库的官方网站为http://www.mysql.com,其发布的MySQL版本采用双授权政策,和大多数开源产品的路线一样,分为社区版和商业版,而这两个版本又各自分四个版本依次发布,这四个版本为:Alpha版、Beta版、RC版和GA版本

MySQL数据库商业版与社区办区别

MySQL商业版与社区办之间的区别在于:

1、商业版本组织管理与测试环节控制更严格,稳定性方面,会比社区版本更稳定

2、MySQL是成熟产品,商业版与社区办之间性能方面相差不大

3、商业版不遵守GPL协议,社区版遵守GPL协议可以免费试用

4、使用商业版后可以购买相关的服务,享受7*24小时技术支持以及及时打补丁等服务,但是用户必须为此支持服务费用

5、社区版本的维护服务只能靠社区提供,无法像商业版本获得故障及补丁解决服务了,但是社区版是完全免费的方式,社区版的服务质量与时效性等方面就无法与MySQL AB公司提供的服务相比了

2.5 MySQL数据库四种发布版本介绍

(1)Alpha版

Alpha版一般只在开发的公司内部运行,不对外公开

(2)Beta版

Beta版一般是完成功能的开发与所有的测试工作之后的产品,不会存在较大的功能或性能BUG,并且邀请或提供给用户体验与测试,以便更全面地测试软件的问题。

(3)RC版

RC版属于生产环境发布之前的一个小版本或称候选版,是根据Beta版本测试结果,收集到的BUG或缺陷之处等收集到的信息,进行修复和完善之后的一版产品

(4)GA版

GA版是软件产品正式发布的版本,也称生产版本的产品

2.6 MySQL产品路线

为了提高MySQL产品的竞争优势,以及提高性能,降低开发维护成本等原因。同时方便企业用户更精准的选择适合的版本用于主机的企业生产环境中,

MySQL在发展到5.1版本系列之后,重新规划为三条产品线

第一条-5.0.xx到5.1.xx产品线系列介绍

MySQL 5.1是当前稳定(产品质量)发布系列。只针对漏洞修复重新发布:没有增加会影响稳定性的新功能。 MySQL 5.1:Previous stable(production-quality)release MySQL 5.0是前一稳定(产品质量)发布系列。只针对严重漏洞修复和安全修复重新发布:没有增加会影响该系列的重要功能。

MySQL 5.0:Older stable release nearing the end of the product lifecycle

第二条-5.4.xx开始-到了5.7.xx产品线系列介绍

为了更好地整合MySQL AB公司社区和第三方公司开发的新存储引擎,以及吸收新的实现算法等,从而更好地支持SMP架构,提高性能而做了大量的代码重构,版本编号从5.4.xx开始,目前发展到了5.6.x MySQL 5.5:LatestGeneral Availability(Production)release

主流:互联网公司用MySQL.5.5

第三条-6.0.xx到7.1.xx产品线系列介绍

为了更好地推广MySQL Cluster版本,以及提高MySQL Cluster的性能和稳定性,以及功能改进和增加,以及改动MySQL基础功能,使其对Cluster存储引擎提供更有效的支持与优化。版本号为6.0.xx开发。目前发展到7.1.xx

http://dev.mysql.com/downloads/mysql

官方地址提供数据库下载版本:

http://mysql.ntu.edu.tw/Downloads

现在国内的镜像站也支持下载:

http://mirrors.sohu.com/mysql/

2.7 MySQL数据库软件命名介绍

MySQL数据库软件的名字是由3个数字和一个后缀组成的版本号。

例如,像mysql-5.0.56.tar.gz的版本号解释:

(1) 第1个数字(5)是主版本号,描述了文件格式。所有版本5发行都有相同文件格式

(2) 第2个数字(0)是发行级别。主版本号和发行级别组合到一起便构成了发型序列号。

(3) 第3个数字(56)是在此系列的版本号,随每个新分发递增,通常你需要已经选择的发行(release)的最新版本

(4) 后缀显示发行的稳定级别,通过一系列后缀显示如何改进稳定性,可能的后缀有:*alpha版

2.8 MySQL版本选择最终建议

企业生产场景选择MySQL数据库建议:

1) 稳定版:选择开源的社区版的稳定版GA版本

2) 产品线:可以选择5.1或5.5 互联网公司主流5.5,其次是5.1和5.6

3) 选择MySQL数据库GA版发布后6个月以上的GA版本。

4)要选择前后几个月没有大的BUG修复的版本,而不是大量修复BUG的集中版本

5)最好向后较长时间没有更新发布的版本

6)要考虑开发人员开发程序使用的版本是否兼容你选的版本

7)作为内部开发人员开发测试数据库环境,跑大概3-6个月的事件

8)优先企业非核心业务采用新版本的数据库GA版本软件

9)向DBA高手请教,或者在及技术氛围好的群里和大家一起交流,使用真正的高手们用过的好用的GA版本产品

10)若是没有重要的功能BUG或性能瓶颈,则可以开始考虑作为任何任务数据服务的后端数据库软件

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容